import { Request, SMS as AWSSMS } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSSMS> = AWSSMS[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSSMS, Extras> = AWSSMS[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class SMS {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "sms";
    readonly global: false;
    readonly category: "Migration and Transfer";
    readonly topLevelCalls: readonly ["getConnectors", "getReplicationJobs", "getServers"];
    createApp: (params: ParamsFrom<'createApp', Record<string, never>>) => Promise<ReturnTypeFrom<'createApp'>>;
    createReplicationJob: (params: ParamsFrom<'createReplicationJob', Record<string, never>>) => Promise<ReturnTypeFrom<'createReplicationJob'>>;
    deleteApp: (params: ParamsFrom<'deleteApp', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteApp'>>;
    deleteAppLaunchConfiguration: (params: ParamsFrom<'deleteAppLaunchConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteAppLaunchConfiguration'>>;
    deleteAppReplicationConfiguration: (params: ParamsFrom<'deleteAppReplicationConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteAppReplicationConfiguration'>>;
    deleteAppValidationConfiguration: (params: ParamsFrom<'deleteAppValidationConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteAppValidationConfiguration'>>;
    deleteReplicationJob: (params: ParamsFrom<'deleteReplicationJob', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteReplicationJob'>>;
    deleteServerCatalog: (params: ParamsFrom<'deleteServerCatalog', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteServerCatalog'>>;
    disassociateConnector: (params: ParamsFrom<'disassociateConnector', Record<string, never>>) => Promise<ReturnTypeFrom<'disassociateConnector'>>;
    generateChangeSet: (params: ParamsFrom<'generateChangeSet', Record<string, never>>) => Promise<ReturnTypeFrom<'generateChangeSet'>>;
    generateTemplate: (params: ParamsFrom<'generateTemplate', Record<string, never>>) => Promise<ReturnTypeFrom<'generateTemplate'>>;
    getApp: (params: ParamsFrom<'getApp', Record<string, never>>) => Promise<ReturnTypeFrom<'getApp'>>;
    getAppLaunchConfiguration: (params: ParamsFrom<'getAppLaunchConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'getAppLaunchConfiguration'>>;
    getAppReplicationConfiguration: (params: ParamsFrom<'getAppReplicationConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'getAppReplicationConfiguration'>>;
    getAppValidationConfiguration: (params: ParamsFrom<'getAppValidationConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'getAppValidationConfiguration'>>;
    getAppValidationOutput: (params: ParamsFrom<'getAppValidationOutput', Record<string, never>>) => Promise<ReturnTypeFrom<'getAppValidationOutput'>>;
    getConnectors(params: {
        [K in keyof ParamsFrom<'getConnectors', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'getConnectors', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'getConnectors'>]-?: ReturnTypeFrom<'getConnectors'>[K];
        }['connectorList'];
    }>;
    getReplicationJobs(params: {
        [K in keyof ParamsFrom<'getReplicationJobs', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'getReplicationJobs', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'getReplicationJobs'>]-?: ReturnTypeFrom<'getReplicationJobs'>[K];
        }['replicationJobList'];
    }>;
    getReplicationRuns(params: {
        [K in keyof ParamsFrom<'getReplicationRuns', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'getReplicationRuns', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'getReplicationRuns'>]-?: ReturnTypeFrom<'getReplicationRuns'>[K];
        }['replicationRunList'];
    }>;
    getServers(params: {
        [K in keyof ParamsFrom<'getServers', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'getServers', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'getServers'>]-?: ReturnTypeFrom<'getServers'>[K];
        }['serverList'];
    }>;
    importAppCatalog: (params: ParamsFrom<'importAppCatalog', Record<string, never>>) => Promise<ReturnTypeFrom<'importAppCatalog'>>;
    importServerCatalog: (params: ParamsFrom<'importServerCatalog', Record<string, never>>) => Promise<ReturnTypeFrom<'importServerCatalog'>>;
    launchApp: (params: ParamsFrom<'launchApp', Record<string, never>>) => Promise<ReturnTypeFrom<'launchApp'>>;
    listApps: (params: ParamsFrom<'listApps', Record<string, never>>) => Promise<ReturnTypeFrom<'listApps'>>;
    notifyAppValidationOutput: (params: ParamsFrom<'notifyAppValidationOutput', Record<string, never>>) => Promise<ReturnTypeFrom<'notifyAppValidationOutput'>>;
    putAppLaunchConfiguration: (params: ParamsFrom<'putAppLaunchConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'putAppLaunchConfiguration'>>;
    putAppReplicationConfiguration: (params: ParamsFrom<'putAppReplicationConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'putAppReplicationConfiguration'>>;
    putAppValidationConfiguration: (params: ParamsFrom<'putAppValidationConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'putAppValidationConfiguration'>>;
    startAppReplication: (params: ParamsFrom<'startAppReplication', Record<string, never>>) => Promise<ReturnTypeFrom<'startAppReplication'>>;
    startOnDemandAppReplication: (params: ParamsFrom<'startOnDemandAppReplication', Record<string, never>>) => Promise<ReturnTypeFrom<'startOnDemandAppReplication'>>;
    startOnDemandReplicationRun: (params: ParamsFrom<'startOnDemandReplicationRun', Record<string, never>>) => Promise<ReturnTypeFrom<'startOnDemandReplicationRun'>>;
    stopAppReplication: (params: ParamsFrom<'stopAppReplication', Record<string, never>>) => Promise<ReturnTypeFrom<'stopAppReplication'>>;
    terminateApp: (params: ParamsFrom<'terminateApp', Record<string, never>>) => Promise<ReturnTypeFrom<'terminateApp'>>;
    updateApp: (params: ParamsFrom<'updateApp', Record<string, never>>) => Promise<ReturnTypeFrom<'updateApp'>>;
    updateReplicationJob: (params: ParamsFrom<'updateReplicationJob', Record<string, never>>) => Promise<ReturnTypeFrom<'updateReplicationJob'>>;
    static fromClient(client: AWSSMS): SMS;
    static client(options?: AWSSMS.Types.ClientConfiguration): SMS;
}
export {};
