import { Geometry } from '../../helpers/geometry';
import { FacePrediction, RealFaceResultObject } from '../../types/modules/realFace';
import { RealFaceTurnSide } from '../../types/enums/realFace';
export declare class MeshFace {
    private realFace;
    private moveToCenter;
    private noFace;
    private perimeter;
    private distance;
    private baseSizes;
    private lowFacePerimeterPercent;
    private readonly lowFacePerimeterPercentDefault;
    private correctDirection;
    private direction;
    private turnDistances;
    private prediction;
    private faceFailCount;
    private faceSuccessCount;
    private readonly res;
    private geometry;
    constructor();
    init(geometry: Geometry): void;
    result(status?: boolean): RealFaceResultObject;
    noPredictions(): RealFaceResultObject;
    processFace(prediction: FacePrediction, resizedSize: HTMLCanvasElement | HTMLVideoElement): RealFaceResultObject;
    dropSuccess(): void;
    getDirection(): RealFaceTurnSide;
    isCorrectKeyPointsDistances(keyPointsDistances: {
        eyeDistance: number;
        earDistance: number;
    }): boolean;
    setDirection(value: any): void;
    getMf(center: any): number[];
    processBadPerimeter(perimeter: any): void;
    main(perimeter: any, mf: any, keyPointsDistances: any): void;
    processRealFace(): void;
    calculateFace(): {
        perimeter: number;
        mf: number[];
    };
    calculateKeyPointsDistances(): {
        eyeDistance: number;
        earDistance: number;
    };
    processPrediction(): void;
    processDistance(): void;
    /**
     * calculates head turn in degrees
     * @param {number} firstDistance
     * @param {number} secondDistance
     * @returns {number}
     */
    calculateTurn(firstDistance: any, secondDistance: any): number;
    calculateDistance(): void;
    allocate(): void;
}
export default MeshFace;
