import { FaceDetectionState, StateChangeCallback, SDKEventCallbacks } from '../../types/index.js';
export declare class EventManager {
    private stateChangeCallbacks;
    private callbacks;
    private log?;
    constructor(callbacks?: SDKEventCallbacks, log?: (message: string, ...args: any[]) => void);
    /**
     * 상태 변경 콜백을 등록합니다.
     */
    onStateChange(callback: StateChangeCallback): void;
    /**
     * 상태 변경 콜백을 제거합니다.
     */
    removeStateChangeCallback(callback: StateChangeCallback): void;
    /**
     * 상태 변경 이벤트를 발생시킵니다.
     */
    emitStateChange(newState: FaceDetectionState, previousState: FaceDetectionState): void;
    /**
     * 에러 이벤트를 발생시킵니다.
     */
    emitError(error: Error, context?: string): void;
    /**
     * 웹캠 에러 이벤트를 발생시킵니다.
     */
    emitWebcamError(err: Error, isIOS: boolean): void;
    /**
     * 얼굴 감지 상태 변경 이벤트를 발생시킵니다.
     */
    emitFaceDetectionChange(isDetected: boolean, boundingBox: any): void;
    /**
     * 얼굴 위치 변경 이벤트를 발생시킵니다.
     */
    emitFacePositionChange(isInCircle: boolean): void;
    /**
     * 측정 진행률 이벤트를 발생시킵니다.
     */
    emitProgress(progress: number, dataPoints: number): void;
    /**
     * 측정 완료 이벤트를 발생시킵니다.
     */
    emitMeasurementComplete(result: any): void;
    /**
     * 이벤트 콜백을 정리합니다.
     */
    dispose(): void;
}
