import { Request, LookoutVision as AWSLookoutVision } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSLookoutVision> = AWSLookoutVision[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSLookoutVision, Extras> = AWSLookoutVision[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class LookoutVision {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "lookoutvision";
    readonly global: false;
    readonly category: "Machine Learning";
    readonly topLevelCalls: readonly ["listProjects"];
    createDataset: (params: ParamsFrom<'createDataset', Record<string, never>>) => Promise<ReturnTypeFrom<'createDataset'>>;
    createModel: (params: ParamsFrom<'createModel', Record<string, never>>) => Promise<ReturnTypeFrom<'createModel'>>;
    createProject: (params: ParamsFrom<'createProject', Record<string, never>>) => Promise<ReturnTypeFrom<'createProject'>>;
    deleteDataset: (params: ParamsFrom<'deleteDataset', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteDataset'>>;
    deleteModel: (params: ParamsFrom<'deleteModel', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteModel'>>;
    deleteProject: (params: ParamsFrom<'deleteProject', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteProject'>>;
    describeDataset: (params: ParamsFrom<'describeDataset', Record<string, never>>) => Promise<ReturnTypeFrom<'describeDataset'>>;
    describeModel: (params: ParamsFrom<'describeModel', Record<string, never>>) => Promise<ReturnTypeFrom<'describeModel'>>;
    describeModelPackagingJob: (params: ParamsFrom<'describeModelPackagingJob', Record<string, never>>) => Promise<ReturnTypeFrom<'describeModelPackagingJob'>>;
    describeProject: (params: ParamsFrom<'describeProject', Record<string, never>>) => Promise<ReturnTypeFrom<'describeProject'>>;
    detectAnomalies: (params: ParamsFrom<'detectAnomalies', Record<string, never>>) => Promise<ReturnTypeFrom<'detectAnomalies'>>;
    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'];
    }>;
    listModelPackagingJobs(params: {
        [K in keyof ParamsFrom<'listModelPackagingJobs', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listModelPackagingJobs', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listModelPackagingJobs'>]-?: ReturnTypeFrom<'listModelPackagingJobs'>[K];
        }['ModelPackagingJobs'];
    }>;
    listModels(params: {
        [K in keyof ParamsFrom<'listModels', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listModels', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listModels'>]-?: ReturnTypeFrom<'listModels'>[K];
        }['Models'];
    }>;
    listProjects(params: {
        [K in keyof ParamsFrom<'listProjects', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listProjects', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listProjects'>]-?: ReturnTypeFrom<'listProjects'>[K];
        }['Projects'];
    }>;
    listTagsForResource: (params: ParamsFrom<'listTagsForResource', Record<string, never>>) => Promise<ReturnTypeFrom<'listTagsForResource'>>;
    startModel: (params: ParamsFrom<'startModel', Record<string, never>>) => Promise<ReturnTypeFrom<'startModel'>>;
    startModelPackagingJob: (params: ParamsFrom<'startModelPackagingJob', Record<string, never>>) => Promise<ReturnTypeFrom<'startModelPackagingJob'>>;
    stopModel: (params: ParamsFrom<'stopModel', Record<string, never>>) => Promise<ReturnTypeFrom<'stopModel'>>;
    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'>>;
    static fromClient(client: AWSLookoutVision): LookoutVision;
    static client(options?: AWSLookoutVision.Types.ClientConfiguration): LookoutVision;
}
export {};
