import { DetectionOptions, PossiblyTrackedFace, MediaElement, DetectionResult } from '../types/types';
import { BaseDetector } from './base-detector';
/**
 * Responsible for detecting faces in images and videos
 */
export declare class FaceDetector extends BaseDetector {
    private detector;
    private config;
    /**
     * Creates a new face detector
     */
    constructor(options?: DetectionOptions);
    /**
     * Ensures the detector is loaded before use
     */
    private ensureDetectorLoaded;
    /**
     * Maps detected faces to the internal format
     */
    private mapDetectedFaces;
    /**
     * Detects faces in an image or video
     */
    detectFaces(input: MediaElement): Promise<DetectionResult<PossiblyTrackedFace>>;
    /**
     * Called when options are updated
     */
    protected onOptionsUpdated(): void;
    /**
     * Called for model preloading/warmup
     */
    protected onWarmup(): Promise<void>;
    /**
     * Called when the detector is disposed
     */
    protected onDispose(): void;
}
