import * as tf from '@tensorflow/tfjs-core';
import { NetInput, TNetInput } from 'tfjs-image-recognition-base';
import { TinyYolov2Types } from 'tfjs-tiny-yolov2';
import { FaceDetection } from './classes/FaceDetection';
import { FaceLandmarks68 } from './classes/FaceLandmarks68';
import { FullFaceDescription } from './classes/FullFaceDescription';
import { FaceDetectionNet } from './faceDetectionNet/FaceDetectionNet';
import { FaceLandmarkNet } from './faceLandmarkNet/FaceLandmarkNet';
import { FaceRecognitionNet } from './faceRecognitionNet/FaceRecognitionNet';
import { Mtcnn } from './mtcnn/Mtcnn';
import { MtcnnForwardParams, MtcnnResult } from './mtcnn/types';
import { TinyYolov2 } from './tinyYolov2/TinyYolov2';
export declare const detectionNet: FaceDetectionNet;
export declare const landmarkNet: FaceLandmarkNet;
export declare const recognitionNet: FaceRecognitionNet;
export declare const nets: {
    ssdMobilenetv1: FaceDetectionNet;
    faceLandmark68Net: FaceLandmarkNet;
    faceRecognitionNet: FaceRecognitionNet;
    mtcnn: Mtcnn;
    tinyYolov2: TinyYolov2;
};
export declare function loadSsdMobilenetv1Model(url: string): Promise<void>;
export declare function loadFaceLandmarkModel(url: string): Promise<void>;
export declare function loadFaceRecognitionModel(url: string): Promise<void>;
export declare function loadMtcnnModel(url: string): Promise<void>;
export declare function loadTinyYolov2Model(url: string): Promise<void>;
export declare function loadFaceDetectionModel(url: string): Promise<void>;
export declare function loadModels(url: string): Promise<[void, void, void, void, void]>;
export declare function locateFaces(input: TNetInput, minConfidence?: number, maxResults?: number): Promise<FaceDetection[]>;
export declare function detectLandmarks(input: TNetInput): Promise<FaceLandmarks68 | FaceLandmarks68[]>;
export declare function computeFaceDescriptor(input: TNetInput): Promise<Float32Array | Float32Array[]>;
export declare function mtcnn(input: TNetInput, forwardParams: MtcnnForwardParams): Promise<MtcnnResult[]>;
export declare function tinyYolov2(input: TNetInput, forwardParams: TinyYolov2Types.TinyYolov2ForwardParams): Promise<FaceDetection[]>;
export declare type allFacesSsdMobilenetv1Function = (input: tf.Tensor | NetInput | TNetInput, minConfidence?: number, useBatchProcessing?: boolean) => Promise<FullFaceDescription[]>;
export declare const allFacesSsdMobilenetv1: allFacesSsdMobilenetv1Function;
export declare type allFacesTinyYolov2Function = (input: tf.Tensor | NetInput | TNetInput, forwardParams?: TinyYolov2Types.TinyYolov2ForwardParams, useBatchProcessing?: boolean) => Promise<FullFaceDescription[]>;
export declare const allFacesTinyYolov2: allFacesTinyYolov2Function;
export declare type allFacesMtcnnFunction = (input: tf.Tensor | NetInput | TNetInput, mtcnnForwardParams?: MtcnnForwardParams, useBatchProcessing?: boolean) => Promise<FullFaceDescription[]>;
export declare const allFacesMtcnn: allFacesMtcnnFunction;
export declare const allFaces: allFacesSsdMobilenetv1Function;
