import { Request, MigrationHubOrchestrator as AWSMigrationHubOrchestrator } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSMigrationHubOrchestrator> = AWSMigrationHubOrchestrator[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSMigrationHubOrchestrator, Extras> = AWSMigrationHubOrchestrator[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class MigrationHubOrchestrator {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "migrationhub-orchestrator";
    readonly global: false;
    readonly category: "Other";
    readonly topLevelCalls: readonly ["listPlugins", "listTemplates", "listWorkflows"];
    createWorkflow: (params: ParamsFrom<'createWorkflow', Record<string, never>>) => Promise<ReturnTypeFrom<'createWorkflow'>>;
    createWorkflowStep: (params: ParamsFrom<'createWorkflowStep', Record<string, never>>) => Promise<ReturnTypeFrom<'createWorkflowStep'>>;
    createWorkflowStepGroup: (params: ParamsFrom<'createWorkflowStepGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'createWorkflowStepGroup'>>;
    deleteWorkflow: (params: ParamsFrom<'deleteWorkflow', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteWorkflow'>>;
    deleteWorkflowStep: (params: ParamsFrom<'deleteWorkflowStep', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteWorkflowStep'>>;
    deleteWorkflowStepGroup: (params: ParamsFrom<'deleteWorkflowStepGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteWorkflowStepGroup'>>;
    getTemplate: (params: ParamsFrom<'getTemplate', Record<string, never>>) => Promise<ReturnTypeFrom<'getTemplate'>>;
    getTemplateStep: (params: ParamsFrom<'getTemplateStep', Record<string, never>>) => Promise<ReturnTypeFrom<'getTemplateStep'>>;
    getTemplateStepGroup: (params: ParamsFrom<'getTemplateStepGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'getTemplateStepGroup'>>;
    getWorkflow: (params: ParamsFrom<'getWorkflow', Record<string, never>>) => Promise<ReturnTypeFrom<'getWorkflow'>>;
    getWorkflowStep: (params: ParamsFrom<'getWorkflowStep', Record<string, never>>) => Promise<ReturnTypeFrom<'getWorkflowStep'>>;
    getWorkflowStepGroup: (params: ParamsFrom<'getWorkflowStepGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'getWorkflowStepGroup'>>;
    listPlugins(params: {
        [K in keyof ParamsFrom<'listPlugins', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listPlugins', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listPlugins'>]-?: ReturnTypeFrom<'listPlugins'>[K];
        }['plugins'];
    }>;
    listTagsForResource: (params: ParamsFrom<'listTagsForResource', Record<string, never>>) => Promise<ReturnTypeFrom<'listTagsForResource'>>;
    listTemplateStepGroups(params: {
        [K in keyof ParamsFrom<'listTemplateStepGroups', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listTemplateStepGroups', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listTemplateStepGroups'>]-?: ReturnTypeFrom<'listTemplateStepGroups'>[K];
        }['templateStepGroupSummary'];
    }>;
    listTemplateSteps(params: {
        [K in keyof ParamsFrom<'listTemplateSteps', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listTemplateSteps', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listTemplateSteps'>]-?: ReturnTypeFrom<'listTemplateSteps'>[K];
        }['templateStepSummaryList'];
    }>;
    listTemplates(params: {
        [K in keyof ParamsFrom<'listTemplates', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listTemplates', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listTemplates'>]-?: ReturnTypeFrom<'listTemplates'>[K];
        }['templateSummary'];
    }>;
    listWorkflowStepGroups(params: {
        [K in keyof ParamsFrom<'listWorkflowStepGroups', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listWorkflowStepGroups', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listWorkflowStepGroups'>]-?: ReturnTypeFrom<'listWorkflowStepGroups'>[K];
        }['workflowStepGroupsSummary'];
    }>;
    listWorkflowSteps(params: {
        [K in keyof ParamsFrom<'listWorkflowSteps', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listWorkflowSteps', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listWorkflowSteps'>]-?: ReturnTypeFrom<'listWorkflowSteps'>[K];
        }['workflowStepsSummary'];
    }>;
    listWorkflows(params: {
        [K in keyof ParamsFrom<'listWorkflows', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listWorkflows', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listWorkflows'>]-?: ReturnTypeFrom<'listWorkflows'>[K];
        }['migrationWorkflowSummary'];
    }>;
    retryWorkflowStep: (params: ParamsFrom<'retryWorkflowStep', Record<string, never>>) => Promise<ReturnTypeFrom<'retryWorkflowStep'>>;
    startWorkflow: (params: ParamsFrom<'startWorkflow', Record<string, never>>) => Promise<ReturnTypeFrom<'startWorkflow'>>;
    stopWorkflow: (params: ParamsFrom<'stopWorkflow', Record<string, never>>) => Promise<ReturnTypeFrom<'stopWorkflow'>>;
    tagResource: (params: ParamsFrom<'tagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'tagResource'>>;
    untagResource: (params: ParamsFrom<'untagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'untagResource'>>;
    updateWorkflow: (params: ParamsFrom<'updateWorkflow', Record<string, never>>) => Promise<ReturnTypeFrom<'updateWorkflow'>>;
    updateWorkflowStep: (params: ParamsFrom<'updateWorkflowStep', Record<string, never>>) => Promise<ReturnTypeFrom<'updateWorkflowStep'>>;
    updateWorkflowStepGroup: (params: ParamsFrom<'updateWorkflowStepGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'updateWorkflowStepGroup'>>;
    static fromClient(client: AWSMigrationHubOrchestrator): MigrationHubOrchestrator;
    static client(options?: AWSMigrationHubOrchestrator.Types.ClientConfiguration): MigrationHubOrchestrator;
}
export {};
