import { OnChanges, OnInit, SimpleChanges, TemplateRef } from '@angular/core';
import { Socket } from 'socket.io-client';
import { CoHostResponsibility, Participant, ShowAlert } from '../../@types/types';
import { ModifyCoHostSettings, ModifyCoHostSettingsOptions } from '../../methods/co-host-methods/modify-co-host-settings.service';
import { ModernRenderMode } from '../utils/render-mode.utils';
import * as i0 from "@angular/core";
interface ResponsibilityKey {
    dedicateKey: string;
    label: string;
    manageKey: string;
}
export declare class ModernCoHostModalComponent implements OnChanges, OnInit {
    private readonly modifyCoHostSettingsService;
    isCoHostModalVisible: boolean;
    currentCohost: string;
    participants: Participant[];
    coHostResponsibility: CoHostResponsibility[];
    position: string;
    backgroundColor: string;
    roomName: string;
    showAlert: ShowAlert;
    updateCoHostResponsibility: (coHostResponsibility: CoHostResponsibility[]) => void;
    updateCoHost: (coHost: string) => void;
    updateIsCoHostModalVisible: (isCoHostModalVisible: boolean) => void;
    socket: Socket;
    onCoHostClose: () => void;
    onModifyCoHost?: (settings: ModifyCoHostSettingsOptions) => void;
    overlayStyle?: Partial<CSSStyleDeclaration>;
    contentStyle?: Partial<CSSStyleDeclaration>;
    customTemplate?: TemplateRef<unknown>;
    parameters?: unknown;
    renderMode: ModernRenderMode;
    showHeader: boolean;
    readonly faCheck: import("@fortawesome/fontawesome-common-types").IconDefinition;
    readonly faTimes: import("@fortawesome/fontawesome-common-types").IconDefinition;
    selectedCohost: string;
    responsibilityKeys: ResponsibilityKey[];
    responsibilities: Record<string, boolean>;
    private coHostResponsibilityCopy;
    private modalWidth;
    constructor(modifyCoHostSettingsService: ModifyCoHostSettings);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    isVisible(): boolean;
    isEmbedded(): boolean;
    get filteredParticipants(): Participant[];
    handleToggleSwitch(key: string): void;
    handleSave(): Promise<void>;
    handleClose(): void;
    hasAssignedCohost(): boolean;
    displayCurrentCohost(): string;
    resolvedOverlayStyle(): Record<string, string | number>;
    resolvedContentStyle(): Record<string, string | number>;
    private calculateModalWidth;
    private findResponsibility;
    private formatLabel;
    private initializeResponsibilities;
    private resolvePositionStyle;
    private normalizeStyle;
    static ɵfac: i0.ɵɵFactoryDeclaration<ModernCoHostModalComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ModernCoHostModalComponent, "app-co-host-modal", never, { "isCoHostModalVisible": { "alias": "isCoHostModalVisible"; "required": false; }; "currentCohost": { "alias": "currentCohost"; "required": false; }; "participants": { "alias": "participants"; "required": false; }; "coHostResponsibility": { "alias": "coHostResponsibility"; "required": false; }; "position": { "alias": "position"; "required": false; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; }; "roomName": { "alias": "roomName"; "required": false; }; "showAlert": { "alias": "showAlert"; "required": false; }; "updateCoHostResponsibility": { "alias": "updateCoHostResponsibility"; "required": false; }; "updateCoHost": { "alias": "updateCoHost"; "required": false; }; "updateIsCoHostModalVisible": { "alias": "updateIsCoHostModalVisible"; "required": false; }; "socket": { "alias": "socket"; "required": false; }; "onCoHostClose": { "alias": "onCoHostClose"; "required": false; }; "onModifyCoHost": { "alias": "onModifyCoHost"; "required": false; }; "overlayStyle": { "alias": "overlayStyle"; "required": false; }; "contentStyle": { "alias": "contentStyle"; "required": false; }; "customTemplate": { "alias": "customTemplate"; "required": false; }; "parameters": { "alias": "parameters"; "required": false; }; "renderMode": { "alias": "renderMode"; "required": false; }; "showHeader": { "alias": "showHeader"; "required": false; }; }, {}, never, never, true, never>;
}
export {};
