import { FaceDetectionSDKConfig, FaceDetectionState, SDKEventCallbacks } from './index';
/**
 * FaceDetectionSDK 클래스
 * 얼굴 인식을 통한 생체 신호 측정을 담당하는 메인 SDK 클래스
 */
export declare class FaceDetectionSDK {
    static readonly VERSION: string;
    private readonly configManager;
    private readonly eventManager;
    private readonly mediapipeManager;
    private readonly stateManager;
    private readonly webcamManager;
    private readonly facePositionManager;
    private readonly workerManager;
    private readonly measurementManager;
    private isFaceDetectiveActive;
    private isFaceInCircle;
    private isReadyTransitionStarted;
    private isInitialized;
    private video;
    private canvasElement;
    private videoCanvas;
    private videoCtx;
    private container;
    private ctx;
    private lastBoundingBox;
    private faceDetectionTimer;
    private isFaceDetected;
    private isFirstFrame;
    /**
     * FaceDetectionSDK 생성자
     * @param config SDK 설정 객체
     * @param callbacks 이벤트 콜백 객체
     */
    constructor(config?: FaceDetectionSDKConfig, callbacks?: SDKEventCallbacks);
    /**
     * SDK 완전 초기화 및 측정 시작
     * HTML 요소 초기화, MediaPipe 설정, 워커 초기화, 측정 시작을 한 번에 수행합니다.
     */
    initializeAndStart(): Promise<void>;
    /**
     * SDK 정리
     * 리소스를 해제하고 이벤트 리스너를 제거합니다.
     */
    dispose(): void;
    private createDownloadFunction;
    private handleMeasurementComplete;
    private handleWorkerData;
    private setupFaceDetection;
    private handleFaceDetection;
    private handleClickStart;
    private handleWebcamError;
    private startReadyToMeasuringTransition;
    private log;
    private stopDetection;
    getCurrentState(): FaceDetectionState;
    isState(state: FaceDetectionState): boolean;
    isAnyState(...states: FaceDetectionState[]): boolean;
    isFaceInsideCircle(): boolean;
    private initializeElements;
    private initializeMediaPipe;
}
export default FaceDetectionSDK;
