import { OnChanges, OnInit, SimpleChanges, TemplateRef } from '@angular/core';
import { IconDefinition } from '@fortawesome/fontawesome-svg-core';
import { Socket } from 'socket.io-client';
import { ShowAlert } from '../../@types/types';
import { ModifySettings, ModifySettingsOptions } from '../../methods/settings-methods/modify-settings.service';
import { ModernRenderMode } from '../utils/render-mode.utils';
import * as i0 from "@angular/core";
type EventSettingValue = 'disallow' | 'allow' | 'approval';
type EventSettingSectionKey = 'audio' | 'video' | 'screenshare' | 'chat';
export declare class ModernEventSettingsModalComponent implements OnInit, OnChanges {
    private readonly modifySettingsService;
    isEventSettingsModalVisible: boolean;
    onEventSettingsClose: () => void;
    onModifyEventSettings?: (options: ModifySettingsOptions) => Promise<void>;
    position: string;
    backgroundColor: string;
    isDarkMode?: boolean;
    audioSetting: string;
    videoSetting: string;
    screenshareSetting: string;
    chatSetting: string;
    updateAudioSetting: (_setting: string) => void;
    updateVideoSetting: (_setting: string) => void;
    updateScreenshareSetting: (_setting: string) => void;
    updateChatSetting: (_setting: string) => void;
    updateIsSettingsModalVisible: (_isVisible: boolean) => void;
    roomName: string;
    socket: Socket;
    showAlert?: ShowAlert;
    overlayStyle?: Partial<CSSStyleDeclaration>;
    contentStyle?: Partial<CSSStyleDeclaration>;
    customTemplate?: TemplateRef<unknown>;
    renderMode: ModernRenderMode;
    showHeader: boolean;
    readonly faMessage: IconDefinition;
    readonly faMicrophone: IconDefinition;
    readonly faDesktop: IconDefinition;
    readonly faBan: IconDefinition;
    readonly faCheckCircle: IconDefinition;
    readonly faLock: IconDefinition;
    readonly faTimes: IconDefinition;
    readonly faVideo: IconDefinition;
    audioState: EventSettingValue | string;
    videoState: EventSettingValue | string;
    screenshareState: EventSettingValue | string;
    chatState: EventSettingValue | string;
    readonly settingOptions: ReadonlyArray<{
        value: EventSettingValue;
        label: string;
        icon: IconDefinition;
    }>;
    readonly settingSections: ReadonlyArray<{
        key: EventSettingSectionKey;
        title: string;
        embeddedTitle: string;
        description: string;
        icon: IconDefinition;
        ariaLabel: string;
    }>;
    constructor(modifySettingsService: ModifySettings);
    get resolvedIsDarkMode(): boolean;
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    isVisible(): boolean;
    isEmbedded(): boolean;
    handleOverlayClick(): void;
    updateStatesFromParameters(): void;
    settingValue(section: EventSettingSectionKey): EventSettingValue | string;
    setSettingValue(section: EventSettingSectionKey, value: EventSettingValue): void;
    handleSaveSettings(): Promise<void>;
    closeModal(): void;
    resolvedOverlayStyle(): Record<string, string | number>;
    resolvedContentStyle(): Record<string, string | number>;
    private resolvePositionStyle;
    private normalizeStyle;
    private resolvedBackground;
    static ɵfac: i0.ɵɵFactoryDeclaration<ModernEventSettingsModalComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ModernEventSettingsModalComponent, "app-event-settings-modal", never, { "isEventSettingsModalVisible": { "alias": "isEventSettingsModalVisible"; "required": false; }; "onEventSettingsClose": { "alias": "onEventSettingsClose"; "required": false; }; "onModifyEventSettings": { "alias": "onModifyEventSettings"; "required": false; }; "position": { "alias": "position"; "required": false; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; }; "isDarkMode": { "alias": "isDarkMode"; "required": false; }; "audioSetting": { "alias": "audioSetting"; "required": false; }; "videoSetting": { "alias": "videoSetting"; "required": false; }; "screenshareSetting": { "alias": "screenshareSetting"; "required": false; }; "chatSetting": { "alias": "chatSetting"; "required": false; }; "updateAudioSetting": { "alias": "updateAudioSetting"; "required": false; }; "updateVideoSetting": { "alias": "updateVideoSetting"; "required": false; }; "updateScreenshareSetting": { "alias": "updateScreenshareSetting"; "required": false; }; "updateChatSetting": { "alias": "updateChatSetting"; "required": false; }; "updateIsSettingsModalVisible": { "alias": "updateIsSettingsModalVisible"; "required": false; }; "roomName": { "alias": "roomName"; "required": false; }; "socket": { "alias": "socket"; "required": false; }; "showAlert": { "alias": "showAlert"; "required": false; }; "overlayStyle": { "alias": "overlayStyle"; "required": false; }; "contentStyle": { "alias": "contentStyle"; "required": false; }; "customTemplate": { "alias": "customTemplate"; "required": false; }; "renderMode": { "alias": "renderMode"; "required": false; }; "showHeader": { "alias": "showHeader"; "required": false; }; }, {}, never, never, true, never>;
}
export {};
