import { Request, Rekognition as AWSRekognition } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSRekognition> = AWSRekognition[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSRekognition, Extras> = AWSRekognition[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class Rekognition {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "rekognition";
    readonly global: false;
    readonly category: "Machine Learning";
    readonly topLevelCalls: readonly ["describeProjects", "listCollections", "listStreamProcessors"];
    compareFaces: (params: ParamsFrom<'compareFaces', Record<string, never>>) => Promise<ReturnTypeFrom<'compareFaces'>>;
    copyProjectVersion: (params: ParamsFrom<'copyProjectVersion', Record<string, never>>) => Promise<ReturnTypeFrom<'copyProjectVersion'>>;
    createCollection: (params: ParamsFrom<'createCollection', Record<string, never>>) => Promise<ReturnTypeFrom<'createCollection'>>;
    createDataset: (params: ParamsFrom<'createDataset', Record<string, never>>) => Promise<ReturnTypeFrom<'createDataset'>>;
    createProject: (params: ParamsFrom<'createProject', Record<string, never>>) => Promise<ReturnTypeFrom<'createProject'>>;
    createProjectVersion: (params: ParamsFrom<'createProjectVersion', Record<string, never>>) => Promise<ReturnTypeFrom<'createProjectVersion'>>;
    createStreamProcessor: (params: ParamsFrom<'createStreamProcessor', Record<string, never>>) => Promise<ReturnTypeFrom<'createStreamProcessor'>>;
    deleteCollection: (params: ParamsFrom<'deleteCollection', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteCollection'>>;
    deleteDataset: (params: ParamsFrom<'deleteDataset', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteDataset'>>;
    deleteFaces: (params: ParamsFrom<'deleteFaces', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteFaces'>>;
    deleteProject: (params: ParamsFrom<'deleteProject', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteProject'>>;
    deleteProjectPolicy: (params: ParamsFrom<'deleteProjectPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteProjectPolicy'>>;
    deleteProjectVersion: (params: ParamsFrom<'deleteProjectVersion', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteProjectVersion'>>;
    deleteStreamProcessor: (params: ParamsFrom<'deleteStreamProcessor', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteStreamProcessor'>>;
    describeCollection: (params: ParamsFrom<'describeCollection', Record<string, never>>) => Promise<ReturnTypeFrom<'describeCollection'>>;
    describeDataset: (params: ParamsFrom<'describeDataset', Record<string, never>>) => Promise<ReturnTypeFrom<'describeDataset'>>;
    describeProjectVersions(params: {
        [K in keyof ParamsFrom<'describeProjectVersions', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'describeProjectVersions', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'describeProjectVersions'>]-?: ReturnTypeFrom<'describeProjectVersions'>[K];
        }['ProjectVersionDescriptions'];
    }>;
    describeProjects(params: {
        [K in keyof ParamsFrom<'describeProjects', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'describeProjects', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'describeProjects'>]-?: ReturnTypeFrom<'describeProjects'>[K];
        }['ProjectDescriptions'];
    }>;
    describeStreamProcessor: (params: ParamsFrom<'describeStreamProcessor', Record<string, never>>) => Promise<ReturnTypeFrom<'describeStreamProcessor'>>;
    detectCustomLabels: (params: ParamsFrom<'detectCustomLabels', Record<string, never>>) => Promise<ReturnTypeFrom<'detectCustomLabels'>>;
    detectFaces: (params: ParamsFrom<'detectFaces', Record<string, never>>) => Promise<ReturnTypeFrom<'detectFaces'>>;
    detectLabels: (params: ParamsFrom<'detectLabels', Record<string, never>>) => Promise<ReturnTypeFrom<'detectLabels'>>;
    detectModerationLabels: (params: ParamsFrom<'detectModerationLabels', Record<string, never>>) => Promise<ReturnTypeFrom<'detectModerationLabels'>>;
    detectProtectiveEquipment: (params: ParamsFrom<'detectProtectiveEquipment', Record<string, never>>) => Promise<ReturnTypeFrom<'detectProtectiveEquipment'>>;
    detectText: (params: ParamsFrom<'detectText', Record<string, never>>) => Promise<ReturnTypeFrom<'detectText'>>;
    distributeDatasetEntries: (params: ParamsFrom<'distributeDatasetEntries', Record<string, never>>) => Promise<ReturnTypeFrom<'distributeDatasetEntries'>>;
    getCelebrityInfo: (params: ParamsFrom<'getCelebrityInfo', Record<string, never>>) => Promise<ReturnTypeFrom<'getCelebrityInfo'>>;
    getCelebrityRecognition: (params: ParamsFrom<'getCelebrityRecognition', Record<string, never>>) => Promise<ReturnTypeFrom<'getCelebrityRecognition'>>;
    getContentModeration: (params: ParamsFrom<'getContentModeration', Record<string, never>>) => Promise<ReturnTypeFrom<'getContentModeration'>>;
    getFaceDetection: (params: ParamsFrom<'getFaceDetection', Record<string, never>>) => Promise<ReturnTypeFrom<'getFaceDetection'>>;
    getFaceSearch: (params: ParamsFrom<'getFaceSearch', Record<string, never>>) => Promise<ReturnTypeFrom<'getFaceSearch'>>;
    getLabelDetection: (params: ParamsFrom<'getLabelDetection', Record<string, never>>) => Promise<ReturnTypeFrom<'getLabelDetection'>>;
    getPersonTracking: (params: ParamsFrom<'getPersonTracking', Record<string, never>>) => Promise<ReturnTypeFrom<'getPersonTracking'>>;
    getSegmentDetection: (params: ParamsFrom<'getSegmentDetection', Record<string, never>>) => Promise<ReturnTypeFrom<'getSegmentDetection'>>;
    getTextDetection: (params: ParamsFrom<'getTextDetection', Record<string, never>>) => Promise<ReturnTypeFrom<'getTextDetection'>>;
    indexFaces: (params: ParamsFrom<'indexFaces', Record<string, never>>) => Promise<ReturnTypeFrom<'indexFaces'>>;
    listCollections(params: {
        [K in keyof ParamsFrom<'listCollections', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listCollections', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listCollections'>]-?: ReturnTypeFrom<'listCollections'>[K];
        }['CollectionIds'];
    }>;
    listDatasetEntries(params: {
        [K in keyof ParamsFrom<'listDatasetEntries', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listDatasetEntries', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listDatasetEntries'>]-?: ReturnTypeFrom<'listDatasetEntries'>[K];
        }['DatasetEntries'];
    }>;
    listDatasetLabels(params: {
        [K in keyof ParamsFrom<'listDatasetLabels', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listDatasetLabels', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listDatasetLabels'>]-?: ReturnTypeFrom<'listDatasetLabels'>[K];
        }['DatasetLabelDescriptions'];
    }>;
    listFaces(params: {
        [K in keyof ParamsFrom<'listFaces', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listFaces', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listFaces'>]-?: ReturnTypeFrom<'listFaces'>[K];
        }['Faces'];
    }>;
    listProjectPolicies(params: {
        [K in keyof ParamsFrom<'listProjectPolicies', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listProjectPolicies', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listProjectPolicies'>]-?: ReturnTypeFrom<'listProjectPolicies'>[K];
        }['ProjectPolicies'];
    }>;
    listStreamProcessors: (params: ParamsFrom<'listStreamProcessors', Record<string, never>>) => Promise<ReturnTypeFrom<'listStreamProcessors'>>;
    listTagsForResource: (params: ParamsFrom<'listTagsForResource', Record<string, never>>) => Promise<ReturnTypeFrom<'listTagsForResource'>>;
    putProjectPolicy: (params: ParamsFrom<'putProjectPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'putProjectPolicy'>>;
    recognizeCelebrities: (params: ParamsFrom<'recognizeCelebrities', Record<string, never>>) => Promise<ReturnTypeFrom<'recognizeCelebrities'>>;
    searchFaces: (params: ParamsFrom<'searchFaces', Record<string, never>>) => Promise<ReturnTypeFrom<'searchFaces'>>;
    searchFacesByImage: (params: ParamsFrom<'searchFacesByImage', Record<string, never>>) => Promise<ReturnTypeFrom<'searchFacesByImage'>>;
    startCelebrityRecognition: (params: ParamsFrom<'startCelebrityRecognition', Record<string, never>>) => Promise<ReturnTypeFrom<'startCelebrityRecognition'>>;
    startContentModeration: (params: ParamsFrom<'startContentModeration', Record<string, never>>) => Promise<ReturnTypeFrom<'startContentModeration'>>;
    startFaceDetection: (params: ParamsFrom<'startFaceDetection', Record<string, never>>) => Promise<ReturnTypeFrom<'startFaceDetection'>>;
    startFaceSearch: (params: ParamsFrom<'startFaceSearch', Record<string, never>>) => Promise<ReturnTypeFrom<'startFaceSearch'>>;
    startLabelDetection: (params: ParamsFrom<'startLabelDetection', Record<string, never>>) => Promise<ReturnTypeFrom<'startLabelDetection'>>;
    startPersonTracking: (params: ParamsFrom<'startPersonTracking', Record<string, never>>) => Promise<ReturnTypeFrom<'startPersonTracking'>>;
    startProjectVersion: (params: ParamsFrom<'startProjectVersion', Record<string, never>>) => Promise<ReturnTypeFrom<'startProjectVersion'>>;
    startSegmentDetection: (params: ParamsFrom<'startSegmentDetection', Record<string, never>>) => Promise<ReturnTypeFrom<'startSegmentDetection'>>;
    startStreamProcessor: (params: ParamsFrom<'startStreamProcessor', Record<string, never>>) => Promise<ReturnTypeFrom<'startStreamProcessor'>>;
    startTextDetection: (params: ParamsFrom<'startTextDetection', Record<string, never>>) => Promise<ReturnTypeFrom<'startTextDetection'>>;
    stopProjectVersion: (params: ParamsFrom<'stopProjectVersion', Record<string, never>>) => Promise<ReturnTypeFrom<'stopProjectVersion'>>;
    stopStreamProcessor: (params: ParamsFrom<'stopStreamProcessor', Record<string, never>>) => Promise<ReturnTypeFrom<'stopStreamProcessor'>>;
    tagResource: (params: ParamsFrom<'tagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'tagResource'>>;
    untagResource: (params: ParamsFrom<'untagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'untagResource'>>;
    updateDatasetEntries: (params: ParamsFrom<'updateDatasetEntries', Record<string, never>>) => Promise<ReturnTypeFrom<'updateDatasetEntries'>>;
    updateStreamProcessor: (params: ParamsFrom<'updateStreamProcessor', Record<string, never>>) => Promise<ReturnTypeFrom<'updateStreamProcessor'>>;
    static fromClient(client: AWSRekognition): Rekognition;
    static client(options?: AWSRekognition.Types.ClientConfiguration): Rekognition;
}
export {};
