import { Request, MigrationHub as AWSMigrationHub } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSMigrationHub> = AWSMigrationHub[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSMigrationHub, Extras> = AWSMigrationHub[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class MigrationHub {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "mgh";
    readonly global: false;
    readonly category: "Other";
    readonly topLevelCalls: readonly ["listApplicationStates", "listMigrationTasks", "listProgressUpdateStreams"];
    associateCreatedArtifact: (params: ParamsFrom<'associateCreatedArtifact', Record<string, never>>) => Promise<ReturnTypeFrom<'associateCreatedArtifact'>>;
    associateDiscoveredResource: (params: ParamsFrom<'associateDiscoveredResource', Record<string, never>>) => Promise<ReturnTypeFrom<'associateDiscoveredResource'>>;
    createProgressUpdateStream: (params: ParamsFrom<'createProgressUpdateStream', Record<string, never>>) => Promise<ReturnTypeFrom<'createProgressUpdateStream'>>;
    deleteProgressUpdateStream: (params: ParamsFrom<'deleteProgressUpdateStream', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteProgressUpdateStream'>>;
    describeApplicationState: (params: ParamsFrom<'describeApplicationState', Record<string, never>>) => Promise<ReturnTypeFrom<'describeApplicationState'>>;
    describeMigrationTask: (params: ParamsFrom<'describeMigrationTask', Record<string, never>>) => Promise<ReturnTypeFrom<'describeMigrationTask'>>;
    disassociateCreatedArtifact: (params: ParamsFrom<'disassociateCreatedArtifact', Record<string, never>>) => Promise<ReturnTypeFrom<'disassociateCreatedArtifact'>>;
    disassociateDiscoveredResource: (params: ParamsFrom<'disassociateDiscoveredResource', Record<string, never>>) => Promise<ReturnTypeFrom<'disassociateDiscoveredResource'>>;
    importMigrationTask: (params: ParamsFrom<'importMigrationTask', Record<string, never>>) => Promise<ReturnTypeFrom<'importMigrationTask'>>;
    listApplicationStates(params: {
        [K in keyof ParamsFrom<'listApplicationStates', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listApplicationStates', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listApplicationStates'>]-?: ReturnTypeFrom<'listApplicationStates'>[K];
        }['ApplicationStateList'];
    }>;
    listCreatedArtifacts(params: {
        [K in keyof ParamsFrom<'listCreatedArtifacts', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listCreatedArtifacts', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listCreatedArtifacts'>]-?: ReturnTypeFrom<'listCreatedArtifacts'>[K];
        }['CreatedArtifactList'];
    }>;
    listDiscoveredResources(params: {
        [K in keyof ParamsFrom<'listDiscoveredResources', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listDiscoveredResources', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listDiscoveredResources'>]-?: ReturnTypeFrom<'listDiscoveredResources'>[K];
        }['DiscoveredResourceList'];
    }>;
    listMigrationTasks(params: {
        [K in keyof ParamsFrom<'listMigrationTasks', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listMigrationTasks', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listMigrationTasks'>]-?: ReturnTypeFrom<'listMigrationTasks'>[K];
        }['MigrationTaskSummaryList'];
    }>;
    listProgressUpdateStreams(params: {
        [K in keyof ParamsFrom<'listProgressUpdateStreams', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listProgressUpdateStreams', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listProgressUpdateStreams'>]-?: ReturnTypeFrom<'listProgressUpdateStreams'>[K];
        }['ProgressUpdateStreamSummaryList'];
    }>;
    notifyApplicationState: (params: ParamsFrom<'notifyApplicationState', Record<string, never>>) => Promise<ReturnTypeFrom<'notifyApplicationState'>>;
    notifyMigrationTaskState: (params: ParamsFrom<'notifyMigrationTaskState', Record<string, never>>) => Promise<ReturnTypeFrom<'notifyMigrationTaskState'>>;
    putResourceAttributes: (params: ParamsFrom<'putResourceAttributes', Record<string, never>>) => Promise<ReturnTypeFrom<'putResourceAttributes'>>;
    static fromClient(client: AWSMigrationHub): MigrationHub;
    static client(options?: AWSMigrationHub.Types.ClientConfiguration): MigrationHub;
}
export {};
