/**
 * Face landmark detection using MediaPipe FaceLandmarker.
 *
 * Runs entirely client-side. Uses iris diameter (~11.7 mm — biologically
 * stable across adults) as the pixel→mm scale anchor, then derives the
 * measurements that eyewear + headwear size guides ask for.
 *
 * Shares the same `@mediapipe/tasks-vision` bundle loaded by
 * `pose-detect.ts`, so the only extra cost is the ~3 MB `.task` file.
 */
export interface Pt {
    x: number;
    y: number;
    z?: number;
}
export interface FaceLandmarks {
    noseTip: Pt;
    noseBridge: Pt;
    leftInnerEye: Pt;
    rightInnerEye: Pt;
    leftOuterEye: Pt;
    rightOuterEye: Pt;
    leftIrisCenter: Pt;
    rightIrisCenter: Pt;
    leftIrisRing: Pt[];
    rightIrisRing: Pt[];
    leftTragus: Pt;
    rightTragus: Pt;
    forehead: Pt;
    chin: Pt;
    leftMouth: Pt;
    rightMouth: Pt;
}
export interface FaceMeasurementsMm {
    irisDiameter: number;
    pd: number;
    bridgeWidth: number;
    faceWidth: number;
    templeLengthLeft: number;
    templeLengthRight: number;
    templeLength: number;
    headWidth: number;
    headDepth: number;
    headCircumference: number;
}
export interface FaceDetectResult {
    landmarks: FaceLandmarks;
    measurementsMm: FaceMeasurementsMm;
    irisConfidence: number;
    imageWidth: number;
    imageHeight: number;
}
/** Detect face landmarks and compute eyewear/headwear measurements in mm. */
export declare function detectFaceMeasurements(imageSrc: string | HTMLImageElement): Promise<FaceDetectResult | null>;
