import { OnChanges, OnInit, SimpleChanges, TemplateRef } from '@angular/core';
import { MessageParticipants, MessageParticipantsOptions } from '../../methods/participants-methods/message-participants.service';
import { MuteParticipants, MuteParticipantsOptions } from '../../methods/participants-methods/mute-participants.service';
import { RemoveParticipants, RemoveParticipantsOptions } from '../../methods/participants-methods/remove-participants.service';
import { ParticipantsModalParameters } from '../../components/participants-components/participants-modal/participants-modal.component';
import { ModernRenderMode } from '../utils/render-mode.utils';
import * as i0 from "@angular/core";
export declare class ModernParticipantsModalComponent implements OnInit, OnChanges {
    private readonly muteParticipantsService;
    private readonly messageParticipantsService;
    private readonly removeParticipantsService;
    isParticipantsModalVisible: boolean;
    onParticipantsClose: () => void;
    onParticipantsFilterChange: (_filter: string) => void;
    participantsCounter: number;
    onMuteParticipants?: (options: MuteParticipantsOptions) => Promise<void>;
    onMessageParticipants?: (options: MessageParticipantsOptions) => void;
    onRemoveParticipants?: (options: RemoveParticipantsOptions) => Promise<void>;
    parameters: ParticipantsModalParameters;
    position: string;
    backgroundColor: string;
    overlayStyle?: Partial<CSSStyleDeclaration>;
    contentStyle?: Partial<CSSStyleDeclaration>;
    customTemplate?: TemplateRef<unknown>;
    renderMode: ModernRenderMode;
    showHeader: boolean;
    faTimes: import("@fortawesome/fontawesome-common-types").IconDefinition;
    participant_s: ParticipantsModalParameters["participants"];
    participantsCounter_s: number;
    constructor(muteParticipantsService: MuteParticipants, messageParticipantsService: MessageParticipants, removeParticipantsService: RemoveParticipants);
    ngOnInit(): void;
    ngOnChanges(_changes: SimpleChanges): void;
    isVisible(): boolean;
    isEmbedded(): boolean;
    handleOverlayClick(): void;
    handleFilterChange(event: Event): void;
    handleClose(): void;
    canShowParticipantList(): boolean;
    resolvedMuteHandler(): (options: MuteParticipantsOptions) => Promise<void>;
    resolvedMessageHandler(): (options: MessageParticipantsOptions) => void;
    resolvedRemoveHandler(): (options: RemoveParticipantsOptions) => Promise<void>;
    resolvedOverlayStyle(): Record<string, string | number>;
    resolvedContentStyle(): Record<string, string | number>;
    private ensureHandlers;
    private updateParticipantsData;
    private normalizeStyle;
    static ɵfac: i0.ɵɵFactoryDeclaration<ModernParticipantsModalComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ModernParticipantsModalComponent, "app-participants-modal", never, { "isParticipantsModalVisible": { "alias": "isParticipantsModalVisible"; "required": false; }; "onParticipantsClose": { "alias": "onParticipantsClose"; "required": false; }; "onParticipantsFilterChange": { "alias": "onParticipantsFilterChange"; "required": false; }; "participantsCounter": { "alias": "participantsCounter"; "required": false; }; "onMuteParticipants": { "alias": "onMuteParticipants"; "required": false; }; "onMessageParticipants": { "alias": "onMessageParticipants"; "required": false; }; "onRemoveParticipants": { "alias": "onRemoveParticipants"; "required": false; }; "parameters": { "alias": "parameters"; "required": false; }; "position": { "alias": "position"; "required": false; }; "backgroundColor": { "alias": "backgroundColor"; "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>;
}
