import { Participant } from '../../@types/types';
import { PanelistData } from './panelists-updated.service';
import * as i0 from "@angular/core";
export interface PanelistFocusChangedData {
    focusEnabled: boolean;
    panelists: PanelistData[];
    muteOthersMic: boolean;
    muteOthersCamera: boolean;
}
export interface PanelistFocusChangedOptions {
    data: PanelistFocusChangedData;
    updatePanelistsFocused?: (focused: boolean) => void;
    updateMuteOthersMic?: (mute: boolean) => void;
    updateMuteOthersCamera?: (mute: boolean) => void;
    updatePanelists?: (panelists: Participant[]) => void;
    currentPanelistsFocused?: boolean;
    currentPanelists?: Participant[];
    onScreenChanges?: () => Promise<void>;
}
export type PanelistFocusChangedType = (options: PanelistFocusChangedOptions) => Promise<void>;
export declare class PanelistFocusChanged {
    panelistFocusChanged({ data, updatePanelistsFocused, updateMuteOthersMic, updateMuteOthersCamera, updatePanelists, currentPanelistsFocused, currentPanelists, onScreenChanges, }: PanelistFocusChangedOptions): Promise<void>;
    static ɵfac: i0.ɵɵFactoryDeclaration<PanelistFocusChanged, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<PanelistFocusChanged>;
}
