import { VideomailEvents } from "../types/events";
import { VideomailClientOptions } from "../types/options";
declare class Despot {
    private readonly name;
    protected options: VideomailClientOptions;
    protected static EMITTER: import("nanoevents").Emitter<VideomailEvents>;
    protected constructor(name: string, options: VideomailClientOptions);
    protected emit<E extends keyof VideomailEvents>(eventName: E, ...params: Parameters<VideomailEvents[E]>): void;
    on<E extends keyof VideomailEvents>(eventName: E, callback: VideomailEvents[E]): import("nanoevents").Unsubscribe;
    once<E extends keyof VideomailEvents>(eventName: E, listener: VideomailEvents[E]): import("nanoevents").Unsubscribe;
    protected static getListeners<E extends keyof VideomailEvents>(eventName: E): Partial<{
        ASKING_WEBCAM_PERMISSION: (() => void)[];
        BEGIN_AUDIO_ENCODING: (() => void)[];
        BEGIN_VIDEO_ENCODING: (() => void)[];
        BLOCKING: (() => void)[];
        BUILT: (() => void)[];
        CONNECTED: (() => void)[];
        CONNECTING: (() => void)[];
        COUNTDOWN: (() => void)[];
        DISABLING_AUDIO: (() => void)[];
        DISCONNECTED: (() => void)[];
        ENABLING_AUDIO: (() => void)[];
        ERROR: ((params: import("..").VideomailErrorParams) => void)[];
        EVENT_EMITTED: (() => void)[];
        FIRST_FRAME_SENT: (() => void)[];
        FORM_READY: ((params: import("../wrappers/container").FormReadyParams) => void)[];
        GOING_BACK: (() => void)[];
        HIDE: (() => void)[];
        INVALID: ((params: import("..").VideomailInvalidParams) => void)[];
        INVISIBLE: (() => void)[];
        LOADED_META_DATA: (() => void)[];
        LOADING_USER_MEDIA: (() => void)[];
        NOTIFYING: (() => void)[];
        PAUSED: (() => void)[];
        PREVIEW: ((params?: import("..").VideomailPreviewParams) => void)[];
        PREVIEW_SHOWN: (() => void)[];
        PROGRESS: ((params: import("..").VideomailProgressParams) => void)[];
        RECORDING: ((params: import("..").VideomailRecordingParams) => void)[];
        REPLAY_SHOWN: (() => void)[];
        RESETTING: (() => void)[];
        RESUMING: (() => void)[];
        SENDING_FIRST_FRAME: (() => void)[];
        SERVER_READY: (() => void)[];
        STARTING_OVER: (() => void)[];
        STOPPED: ((params: import("..").VideomailStoppedParams) => void)[];
        STOPPING: ((params: import("..").VideomailStoppingParams) => void)[];
        SUBMITTED: ((params: import("..").VideomailSubmittedParams) => void)[];
        SUBMITTING: (() => void)[];
        SWITCH_FACING_MODE: (() => void)[];
        UNLOADING: (() => void)[];
        USER_MEDIA_READY: ((params: import("..").VideomailUserMediaReadyParams) => void)[];
        VALID: (() => void)[];
        VALIDATING: ((params?: import("..").VideomailValidatingParams) => void)[];
        VISIBLE: (() => void)[];
        WINDOW_RESIZE: ((source: string) => void)[];
    }>[E];
    protected static removeListener(eventName: keyof VideomailEvents): void;
    protected static removeAllListeners(): void;
}
export default Despot;
