import { Request, CodeDeploy as AWSCodeDeploy } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSCodeDeploy> = AWSCodeDeploy[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSCodeDeploy, Extras> = AWSCodeDeploy[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class CodeDeploy {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "codedeploy";
    readonly global: false;
    readonly category: "Developer Tools";
    readonly topLevelCalls: readonly ["listApplications", "listDeploymentConfigs", "listDeployments"];
    addTagsToOnPremisesInstances: (params: ParamsFrom<'addTagsToOnPremisesInstances', Record<string, never>>) => Promise<ReturnTypeFrom<'addTagsToOnPremisesInstances'>>;
    batchGetApplicationRevisions: (params: ParamsFrom<'batchGetApplicationRevisions', Record<string, never>>) => Promise<ReturnTypeFrom<'batchGetApplicationRevisions'>>;
    batchGetApplications: (params: ParamsFrom<'batchGetApplications', Record<string, never>>) => Promise<ReturnTypeFrom<'batchGetApplications'>>;
    batchGetDeploymentGroups: (params: ParamsFrom<'batchGetDeploymentGroups', Record<string, never>>) => Promise<ReturnTypeFrom<'batchGetDeploymentGroups'>>;
    batchGetDeploymentInstances: (params: ParamsFrom<'batchGetDeploymentInstances', Record<string, never>>) => Promise<ReturnTypeFrom<'batchGetDeploymentInstances'>>;
    batchGetDeploymentTargets: (params: ParamsFrom<'batchGetDeploymentTargets', Record<string, never>>) => Promise<ReturnTypeFrom<'batchGetDeploymentTargets'>>;
    batchGetDeployments: (params: ParamsFrom<'batchGetDeployments', Record<string, never>>) => Promise<ReturnTypeFrom<'batchGetDeployments'>>;
    batchGetOnPremisesInstances: (params: ParamsFrom<'batchGetOnPremisesInstances', Record<string, never>>) => Promise<ReturnTypeFrom<'batchGetOnPremisesInstances'>>;
    continueDeployment: (params: ParamsFrom<'continueDeployment', Record<string, never>>) => Promise<ReturnTypeFrom<'continueDeployment'>>;
    createApplication: (params: ParamsFrom<'createApplication', Record<string, never>>) => Promise<ReturnTypeFrom<'createApplication'>>;
    createDeployment: (params: ParamsFrom<'createDeployment', Record<string, never>>) => Promise<ReturnTypeFrom<'createDeployment'>>;
    createDeploymentConfig: (params: ParamsFrom<'createDeploymentConfig', Record<string, never>>) => Promise<ReturnTypeFrom<'createDeploymentConfig'>>;
    createDeploymentGroup: (params: ParamsFrom<'createDeploymentGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'createDeploymentGroup'>>;
    deleteApplication: (params: ParamsFrom<'deleteApplication', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteApplication'>>;
    deleteDeploymentConfig: (params: ParamsFrom<'deleteDeploymentConfig', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteDeploymentConfig'>>;
    deleteDeploymentGroup: (params: ParamsFrom<'deleteDeploymentGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteDeploymentGroup'>>;
    deleteGitHubAccountToken: (params: ParamsFrom<'deleteGitHubAccountToken', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteGitHubAccountToken'>>;
    deleteResourcesByExternalId: (params: ParamsFrom<'deleteResourcesByExternalId', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteResourcesByExternalId'>>;
    deregisterOnPremisesInstance: (params: ParamsFrom<'deregisterOnPremisesInstance', Record<string, never>>) => Promise<ReturnTypeFrom<'deregisterOnPremisesInstance'>>;
    getApplication: (params: ParamsFrom<'getApplication', Record<string, never>>) => Promise<ReturnTypeFrom<'getApplication'>>;
    getApplicationRevision: (params: ParamsFrom<'getApplicationRevision', Record<string, never>>) => Promise<ReturnTypeFrom<'getApplicationRevision'>>;
    getDeployment: (params: ParamsFrom<'getDeployment', Record<string, never>>) => Promise<ReturnTypeFrom<'getDeployment'>>;
    getDeploymentConfig: (params: ParamsFrom<'getDeploymentConfig', Record<string, never>>) => Promise<ReturnTypeFrom<'getDeploymentConfig'>>;
    getDeploymentGroup: (params: ParamsFrom<'getDeploymentGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'getDeploymentGroup'>>;
    getDeploymentInstance: (params: ParamsFrom<'getDeploymentInstance', Record<string, never>>) => Promise<ReturnTypeFrom<'getDeploymentInstance'>>;
    getDeploymentTarget: (params: ParamsFrom<'getDeploymentTarget', Record<string, never>>) => Promise<ReturnTypeFrom<'getDeploymentTarget'>>;
    getOnPremisesInstance: (params: ParamsFrom<'getOnPremisesInstance', Record<string, never>>) => Promise<ReturnTypeFrom<'getOnPremisesInstance'>>;
    listApplicationRevisions(params: {
        [K in keyof ParamsFrom<'listApplicationRevisions', {
            next?: string;
        }>]: ParamsFrom<'listApplicationRevisions', {
            next?: string;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listApplicationRevisions'>]-?: ReturnTypeFrom<'listApplicationRevisions'>[K];
        }['revisions'];
    }>;
    listApplications(params: {
        [K in keyof ParamsFrom<'listApplications', {
            next?: string;
        }>]: ParamsFrom<'listApplications', {
            next?: string;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listApplications'>]-?: ReturnTypeFrom<'listApplications'>[K];
        }['applications'];
    }>;
    listDeploymentConfigs(params: {
        [K in keyof ParamsFrom<'listDeploymentConfigs', {
            next?: string;
        }>]: ParamsFrom<'listDeploymentConfigs', {
            next?: string;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listDeploymentConfigs'>]-?: ReturnTypeFrom<'listDeploymentConfigs'>[K];
        }['deploymentConfigsList'];
    }>;
    listDeploymentGroups(params: {
        [K in keyof ParamsFrom<'listDeploymentGroups', {
            next?: string;
        }>]: ParamsFrom<'listDeploymentGroups', {
            next?: string;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listDeploymentGroups'>]-?: ReturnTypeFrom<'listDeploymentGroups'>[K];
        }['deploymentGroups'];
    }>;
    listDeploymentInstances(params: {
        [K in keyof ParamsFrom<'listDeploymentInstances', {
            next?: string;
        }>]: ParamsFrom<'listDeploymentInstances', {
            next?: string;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listDeploymentInstances'>]-?: ReturnTypeFrom<'listDeploymentInstances'>[K];
        }['instancesList'];
    }>;
    listDeploymentTargets: (params: ParamsFrom<'listDeploymentTargets', Record<string, never>>) => Promise<ReturnTypeFrom<'listDeploymentTargets'>>;
    listDeployments(params: {
        [K in keyof ParamsFrom<'listDeployments', {
            next?: string;
        }>]: ParamsFrom<'listDeployments', {
            next?: string;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listDeployments'>]-?: ReturnTypeFrom<'listDeployments'>[K];
        }['deployments'];
    }>;
    listGitHubAccountTokenNames: (params: ParamsFrom<'listGitHubAccountTokenNames', Record<string, never>>) => Promise<ReturnTypeFrom<'listGitHubAccountTokenNames'>>;
    listOnPremisesInstances: (params: ParamsFrom<'listOnPremisesInstances', Record<string, never>>) => Promise<ReturnTypeFrom<'listOnPremisesInstances'>>;
    listTagsForResource: (params: ParamsFrom<'listTagsForResource', Record<string, never>>) => Promise<ReturnTypeFrom<'listTagsForResource'>>;
    putLifecycleEventHookExecutionStatus: (params: ParamsFrom<'putLifecycleEventHookExecutionStatus', Record<string, never>>) => Promise<ReturnTypeFrom<'putLifecycleEventHookExecutionStatus'>>;
    registerApplicationRevision: (params: ParamsFrom<'registerApplicationRevision', Record<string, never>>) => Promise<ReturnTypeFrom<'registerApplicationRevision'>>;
    registerOnPremisesInstance: (params: ParamsFrom<'registerOnPremisesInstance', Record<string, never>>) => Promise<ReturnTypeFrom<'registerOnPremisesInstance'>>;
    removeTagsFromOnPremisesInstances: (params: ParamsFrom<'removeTagsFromOnPremisesInstances', Record<string, never>>) => Promise<ReturnTypeFrom<'removeTagsFromOnPremisesInstances'>>;
    skipWaitTimeForInstanceTermination: (params: ParamsFrom<'skipWaitTimeForInstanceTermination', Record<string, never>>) => Promise<ReturnTypeFrom<'skipWaitTimeForInstanceTermination'>>;
    stopDeployment: (params: ParamsFrom<'stopDeployment', Record<string, never>>) => Promise<ReturnTypeFrom<'stopDeployment'>>;
    tagResource: (params: ParamsFrom<'tagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'tagResource'>>;
    untagResource: (params: ParamsFrom<'untagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'untagResource'>>;
    updateApplication: (params: ParamsFrom<'updateApplication', Record<string, never>>) => Promise<ReturnTypeFrom<'updateApplication'>>;
    updateDeploymentGroup: (params: ParamsFrom<'updateDeploymentGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'updateDeploymentGroup'>>;
    static fromClient(client: AWSCodeDeploy): CodeDeploy;
    static client(options?: AWSCodeDeploy.Types.ClientConfiguration): CodeDeploy;
}
export {};
