import { Request, MigrationHubStrategy as AWSMigrationHubStrategy } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSMigrationHubStrategy> = AWSMigrationHubStrategy[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSMigrationHubStrategy, Extras> = AWSMigrationHubStrategy[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class MigrationHubStrategy {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "migrationhub-strategy";
    readonly global: false;
    readonly category: "Other";
    readonly topLevelCalls: readonly ["listApplicationComponents", "listCollectors", "listImportFileTask", "listServers"];
    getApplicationComponentDetails: (params: ParamsFrom<'getApplicationComponentDetails', Record<string, never>>) => Promise<ReturnTypeFrom<'getApplicationComponentDetails'>>;
    getApplicationComponentStrategies: (params: ParamsFrom<'getApplicationComponentStrategies', Record<string, never>>) => Promise<ReturnTypeFrom<'getApplicationComponentStrategies'>>;
    getAssessment: (params: ParamsFrom<'getAssessment', Record<string, never>>) => Promise<ReturnTypeFrom<'getAssessment'>>;
    getImportFileTask: (params: ParamsFrom<'getImportFileTask', Record<string, never>>) => Promise<ReturnTypeFrom<'getImportFileTask'>>;
    getPortfolioPreferences: (params: ParamsFrom<'getPortfolioPreferences', Record<string, never>>) => Promise<ReturnTypeFrom<'getPortfolioPreferences'>>;
    getPortfolioSummary: (params: ParamsFrom<'getPortfolioSummary', Record<string, never>>) => Promise<ReturnTypeFrom<'getPortfolioSummary'>>;
    getRecommendationReportDetails: (params: ParamsFrom<'getRecommendationReportDetails', Record<string, never>>) => Promise<ReturnTypeFrom<'getRecommendationReportDetails'>>;
    getServerDetails(params: {
        [K in keyof ParamsFrom<'getServerDetails', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'getServerDetails', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'getServerDetails'>]-?: ReturnTypeFrom<'getServerDetails'>[K];
        }['associatedApplications'];
    }>;
    getServerStrategies: (params: ParamsFrom<'getServerStrategies', Record<string, never>>) => Promise<ReturnTypeFrom<'getServerStrategies'>>;
    listApplicationComponents(params: {
        [K in keyof ParamsFrom<'listApplicationComponents', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listApplicationComponents', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listApplicationComponents'>]-?: ReturnTypeFrom<'listApplicationComponents'>[K];
        }['applicationComponentInfos'];
    }>;
    listCollectors(params: {
        [K in keyof ParamsFrom<'listCollectors', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listCollectors', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listCollectors'>]-?: ReturnTypeFrom<'listCollectors'>[K];
        }['Collectors'];
    }>;
    listImportFileTask(params: {
        [K in keyof ParamsFrom<'listImportFileTask', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listImportFileTask', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listImportFileTask'>]-?: ReturnTypeFrom<'listImportFileTask'>[K];
        }['taskInfos'];
    }>;
    listServers(params: {
        [K in keyof ParamsFrom<'listServers', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listServers', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listServers'>]-?: ReturnTypeFrom<'listServers'>[K];
        }['serverInfos'];
    }>;
    putPortfolioPreferences: (params: ParamsFrom<'putPortfolioPreferences', Record<string, never>>) => Promise<ReturnTypeFrom<'putPortfolioPreferences'>>;
    startAssessment: (params: ParamsFrom<'startAssessment', Record<string, never>>) => Promise<ReturnTypeFrom<'startAssessment'>>;
    startImportFileTask: (params: ParamsFrom<'startImportFileTask', Record<string, never>>) => Promise<ReturnTypeFrom<'startImportFileTask'>>;
    startRecommendationReportGeneration: (params: ParamsFrom<'startRecommendationReportGeneration', Record<string, never>>) => Promise<ReturnTypeFrom<'startRecommendationReportGeneration'>>;
    stopAssessment: (params: ParamsFrom<'stopAssessment', Record<string, never>>) => Promise<ReturnTypeFrom<'stopAssessment'>>;
    updateApplicationComponentConfig: (params: ParamsFrom<'updateApplicationComponentConfig', Record<string, never>>) => Promise<ReturnTypeFrom<'updateApplicationComponentConfig'>>;
    updateServerConfig: (params: ParamsFrom<'updateServerConfig', Record<string, never>>) => Promise<ReturnTypeFrom<'updateServerConfig'>>;
    static fromClient(client: AWSMigrationHubStrategy): MigrationHubStrategy;
    static client(options?: AWSMigrationHubStrategy.Types.ClientConfiguration): MigrationHubStrategy;
}
export {};
