import { Request, Drs as AWSDrs } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSDrs> = AWSDrs[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSDrs, Extras> = AWSDrs[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class Drs {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "drs";
    readonly global: false;
    readonly category: "Other";
    readonly topLevelCalls: readonly ["describeJobs", "describeRecoveryInstances", "describeReplicationConfigurationTemplates", "describeSourceServers", "listStagingAccounts"];
    createExtendedSourceServer: (params: ParamsFrom<'createExtendedSourceServer', Record<string, never>>) => Promise<ReturnTypeFrom<'createExtendedSourceServer'>>;
    createReplicationConfigurationTemplate: (params: ParamsFrom<'createReplicationConfigurationTemplate', Record<string, never>>) => Promise<ReturnTypeFrom<'createReplicationConfigurationTemplate'>>;
    deleteJob: (params: ParamsFrom<'deleteJob', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteJob'>>;
    deleteRecoveryInstance: (params: ParamsFrom<'deleteRecoveryInstance', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteRecoveryInstance'>>;
    deleteReplicationConfigurationTemplate: (params: ParamsFrom<'deleteReplicationConfigurationTemplate', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteReplicationConfigurationTemplate'>>;
    deleteSourceServer: (params: ParamsFrom<'deleteSourceServer', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteSourceServer'>>;
    describeJobLogItems(params: {
        [K in keyof ParamsFrom<'describeJobLogItems', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'describeJobLogItems', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'describeJobLogItems'>]-?: ReturnTypeFrom<'describeJobLogItems'>[K];
        }['items'];
    }>;
    describeJobs(params: {
        [K in keyof ParamsFrom<'describeJobs', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'describeJobs', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'describeJobs'>]-?: ReturnTypeFrom<'describeJobs'>[K];
        }['items'];
    }>;
    describeRecoveryInstances(params: {
        [K in keyof ParamsFrom<'describeRecoveryInstances', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'describeRecoveryInstances', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'describeRecoveryInstances'>]-?: ReturnTypeFrom<'describeRecoveryInstances'>[K];
        }['items'];
    }>;
    describeRecoverySnapshots(params: {
        [K in keyof ParamsFrom<'describeRecoverySnapshots', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'describeRecoverySnapshots', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'describeRecoverySnapshots'>]-?: ReturnTypeFrom<'describeRecoverySnapshots'>[K];
        }['items'];
    }>;
    describeReplicationConfigurationTemplates(params: {
        [K in keyof ParamsFrom<'describeReplicationConfigurationTemplates', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'describeReplicationConfigurationTemplates', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'describeReplicationConfigurationTemplates'>]-?: ReturnTypeFrom<'describeReplicationConfigurationTemplates'>[K];
        }['items'];
    }>;
    describeSourceServers(params: {
        [K in keyof ParamsFrom<'describeSourceServers', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'describeSourceServers', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'describeSourceServers'>]-?: ReturnTypeFrom<'describeSourceServers'>[K];
        }['items'];
    }>;
    disconnectRecoveryInstance: (params: ParamsFrom<'disconnectRecoveryInstance', Record<string, never>>) => Promise<ReturnTypeFrom<'disconnectRecoveryInstance'>>;
    disconnectSourceServer: (params: ParamsFrom<'disconnectSourceServer', Record<string, never>>) => Promise<ReturnTypeFrom<'disconnectSourceServer'>>;
    getFailbackReplicationConfiguration: (params: ParamsFrom<'getFailbackReplicationConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'getFailbackReplicationConfiguration'>>;
    getLaunchConfiguration: (params: ParamsFrom<'getLaunchConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'getLaunchConfiguration'>>;
    getReplicationConfiguration: (params: ParamsFrom<'getReplicationConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'getReplicationConfiguration'>>;
    initializeService: (params: ParamsFrom<'initializeService', Record<string, never>>) => Promise<ReturnTypeFrom<'initializeService'>>;
    listExtensibleSourceServers(params: {
        [K in keyof ParamsFrom<'listExtensibleSourceServers', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listExtensibleSourceServers', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listExtensibleSourceServers'>]-?: ReturnTypeFrom<'listExtensibleSourceServers'>[K];
        }['items'];
    }>;
    listStagingAccounts(params: {
        [K in keyof ParamsFrom<'listStagingAccounts', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listStagingAccounts', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listStagingAccounts'>]-?: ReturnTypeFrom<'listStagingAccounts'>[K];
        }['accounts'];
    }>;
    listTagsForResource: (params: ParamsFrom<'listTagsForResource', Record<string, never>>) => Promise<ReturnTypeFrom<'listTagsForResource'>>;
    retryDataReplication: (params: ParamsFrom<'retryDataReplication', Record<string, never>>) => Promise<ReturnTypeFrom<'retryDataReplication'>>;
    startFailbackLaunch: (params: ParamsFrom<'startFailbackLaunch', Record<string, never>>) => Promise<ReturnTypeFrom<'startFailbackLaunch'>>;
    startRecovery: (params: ParamsFrom<'startRecovery', Record<string, never>>) => Promise<ReturnTypeFrom<'startRecovery'>>;
    stopFailback: (params: ParamsFrom<'stopFailback', Record<string, never>>) => Promise<ReturnTypeFrom<'stopFailback'>>;
    tagResource: (params: ParamsFrom<'tagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'tagResource'>>;
    terminateRecoveryInstances: (params: ParamsFrom<'terminateRecoveryInstances', Record<string, never>>) => Promise<ReturnTypeFrom<'terminateRecoveryInstances'>>;
    untagResource: (params: ParamsFrom<'untagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'untagResource'>>;
    updateFailbackReplicationConfiguration: (params: ParamsFrom<'updateFailbackReplicationConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'updateFailbackReplicationConfiguration'>>;
    updateLaunchConfiguration: (params: ParamsFrom<'updateLaunchConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'updateLaunchConfiguration'>>;
    updateReplicationConfiguration: (params: ParamsFrom<'updateReplicationConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'updateReplicationConfiguration'>>;
    updateReplicationConfigurationTemplate: (params: ParamsFrom<'updateReplicationConfigurationTemplate', Record<string, never>>) => Promise<ReturnTypeFrom<'updateReplicationConfigurationTemplate'>>;
    static fromClient(client: AWSDrs): Drs;
    static client(options?: AWSDrs.Types.ClientConfiguration): Drs;
}
export {};
