import { Request, MachineLearning as AWSMachineLearning } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSMachineLearning> = AWSMachineLearning[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSMachineLearning, Extras> = AWSMachineLearning[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class MachineLearning {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "machinelearning";
    readonly global: false;
    readonly category: "Machine Learning";
    readonly topLevelCalls: readonly ["describeBatchPredictions", "describeDataSources", "describeEvaluations", "describeMLModels"];
    addTags: (params: ParamsFrom<'addTags', Record<string, never>>) => Promise<ReturnTypeFrom<'addTags'>>;
    createBatchPrediction: (params: ParamsFrom<'createBatchPrediction', Record<string, never>>) => Promise<ReturnTypeFrom<'createBatchPrediction'>>;
    createDataSourceFromRDS: (params: ParamsFrom<'createDataSourceFromRDS', Record<string, never>>) => Promise<ReturnTypeFrom<'createDataSourceFromRDS'>>;
    createDataSourceFromRedshift: (params: ParamsFrom<'createDataSourceFromRedshift', Record<string, never>>) => Promise<ReturnTypeFrom<'createDataSourceFromRedshift'>>;
    createDataSourceFromS3: (params: ParamsFrom<'createDataSourceFromS3', Record<string, never>>) => Promise<ReturnTypeFrom<'createDataSourceFromS3'>>;
    createEvaluation: (params: ParamsFrom<'createEvaluation', Record<string, never>>) => Promise<ReturnTypeFrom<'createEvaluation'>>;
    createMLModel: (params: ParamsFrom<'createMLModel', Record<string, never>>) => Promise<ReturnTypeFrom<'createMLModel'>>;
    createRealtimeEndpoint: (params: ParamsFrom<'createRealtimeEndpoint', Record<string, never>>) => Promise<ReturnTypeFrom<'createRealtimeEndpoint'>>;
    deleteBatchPrediction: (params: ParamsFrom<'deleteBatchPrediction', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteBatchPrediction'>>;
    deleteDataSource: (params: ParamsFrom<'deleteDataSource', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteDataSource'>>;
    deleteEvaluation: (params: ParamsFrom<'deleteEvaluation', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteEvaluation'>>;
    deleteMLModel: (params: ParamsFrom<'deleteMLModel', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteMLModel'>>;
    deleteRealtimeEndpoint: (params: ParamsFrom<'deleteRealtimeEndpoint', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteRealtimeEndpoint'>>;
    deleteTags: (params: ParamsFrom<'deleteTags', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteTags'>>;
    describeBatchPredictions(params: {
        [K in keyof ParamsFrom<'describeBatchPredictions', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'describeBatchPredictions', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'describeBatchPredictions'>]-?: ReturnTypeFrom<'describeBatchPredictions'>[K];
        }['Results'];
    }>;
    describeDataSources(params: {
        [K in keyof ParamsFrom<'describeDataSources', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'describeDataSources', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'describeDataSources'>]-?: ReturnTypeFrom<'describeDataSources'>[K];
        }['Results'];
    }>;
    describeEvaluations(params: {
        [K in keyof ParamsFrom<'describeEvaluations', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'describeEvaluations', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'describeEvaluations'>]-?: ReturnTypeFrom<'describeEvaluations'>[K];
        }['Results'];
    }>;
    describeMLModels(params: {
        [K in keyof ParamsFrom<'describeMLModels', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'describeMLModels', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'describeMLModels'>]-?: ReturnTypeFrom<'describeMLModels'>[K];
        }['Results'];
    }>;
    describeTags: (params: ParamsFrom<'describeTags', Record<string, never>>) => Promise<ReturnTypeFrom<'describeTags'>>;
    getBatchPrediction: (params: ParamsFrom<'getBatchPrediction', Record<string, never>>) => Promise<ReturnTypeFrom<'getBatchPrediction'>>;
    getDataSource: (params: ParamsFrom<'getDataSource', Record<string, never>>) => Promise<ReturnTypeFrom<'getDataSource'>>;
    getEvaluation: (params: ParamsFrom<'getEvaluation', Record<string, never>>) => Promise<ReturnTypeFrom<'getEvaluation'>>;
    getMLModel: (params: ParamsFrom<'getMLModel', Record<string, never>>) => Promise<ReturnTypeFrom<'getMLModel'>>;
    predict: (params: ParamsFrom<'predict', Record<string, never>>) => Promise<ReturnTypeFrom<'predict'>>;
    updateBatchPrediction: (params: ParamsFrom<'updateBatchPrediction', Record<string, never>>) => Promise<ReturnTypeFrom<'updateBatchPrediction'>>;
    updateDataSource: (params: ParamsFrom<'updateDataSource', Record<string, never>>) => Promise<ReturnTypeFrom<'updateDataSource'>>;
    updateEvaluation: (params: ParamsFrom<'updateEvaluation', Record<string, never>>) => Promise<ReturnTypeFrom<'updateEvaluation'>>;
    updateMLModel: (params: ParamsFrom<'updateMLModel', Record<string, never>>) => Promise<ReturnTypeFrom<'updateMLModel'>>;
    static fromClient(client: AWSMachineLearning): MachineLearning;
    static client(options?: AWSMachineLearning.Types.ClientConfiguration): MachineLearning;
}
export {};
