import { RequestOptions } from './utils/request';
import type { Options } from './types';
import type { Dispose } from './utils/dispose';
import { EventEmitter } from './utils/eventmitter';
import Collector from './utils/collector';
import { Tip } from './modules/tip';
import { Camera } from './modules/camera';
import { Progress } from './modules/progress';
import { Footer } from './modules/footer';
import { Record as VideoRecord } from './modules/record';
declare class NELiveDetection extends EventEmitter implements Dispose {
    bdFaceSdk: any;
    options: Required<Options>;
    container: HTMLElement | null;
    el: HTMLElement;
    cameraOpened: Boolean;
    loadOver: Boolean;
    readonly collector: Collector;
    readonly netCollector: Collector;
    readonly request: <T>(opts: Omit<RequestOptions, 'apiServer'>, callback?: Function) => Promise<T>;
    readonly tip: Tip;
    readonly camera: Camera;
    readonly progress: Progress;
    readonly footer: Footer;
    readonly record: VideoRecord;
    constructor(options: Options);
    mount(container?: Options['container']): void;
    mergeOptionsFromServer(): Promise<void>;
    initBdFaceSdk(isEmitReady?: boolean): Promise<void>;
    start(): void;
    restart(): Promise<void>;
    dispose(): void;
    private canUseSDK;
    private onSuccess;
    private onFail;
    private getConfigs;
    private check;
    private videoChange;
    private collectCheckUnpassError;
}
export default NELiveDetection;
