import { Request, ElasticBeanstalk as AWSElasticBeanstalk } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSElasticBeanstalk> = AWSElasticBeanstalk[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSElasticBeanstalk, Extras> = AWSElasticBeanstalk[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class ElasticBeanstalk {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "elasticbeanstalk";
    readonly global: false;
    readonly category: "Compute";
    readonly topLevelCalls: readonly ["describeApplicationVersions", "describeApplications", "describeConfigurationOptions", "describeEnvironmentManagedActionHistory", "describeEnvironments", "describeEvents", "listAvailableSolutionStacks", "listPlatformBranches", "listPlatformVersions"];
    abortEnvironmentUpdate: (params: ParamsFrom<'abortEnvironmentUpdate', Record<string, never>>) => Promise<ReturnTypeFrom<'abortEnvironmentUpdate'>>;
    applyEnvironmentManagedAction: (params: ParamsFrom<'applyEnvironmentManagedAction', Record<string, never>>) => Promise<ReturnTypeFrom<'applyEnvironmentManagedAction'>>;
    associateEnvironmentOperationsRole: (params: ParamsFrom<'associateEnvironmentOperationsRole', Record<string, never>>) => Promise<ReturnTypeFrom<'associateEnvironmentOperationsRole'>>;
    checkDNSAvailability: (params: ParamsFrom<'checkDNSAvailability', Record<string, never>>) => Promise<ReturnTypeFrom<'checkDNSAvailability'>>;
    composeEnvironments: (params: ParamsFrom<'composeEnvironments', Record<string, never>>) => Promise<ReturnTypeFrom<'composeEnvironments'>>;
    createApplication: (params: ParamsFrom<'createApplication', Record<string, never>>) => Promise<ReturnTypeFrom<'createApplication'>>;
    createApplicationVersion: (params: ParamsFrom<'createApplicationVersion', Record<string, never>>) => Promise<ReturnTypeFrom<'createApplicationVersion'>>;
    createConfigurationTemplate: (params: ParamsFrom<'createConfigurationTemplate', Record<string, never>>) => Promise<ReturnTypeFrom<'createConfigurationTemplate'>>;
    createEnvironment: (params: ParamsFrom<'createEnvironment', Record<string, never>>) => Promise<ReturnTypeFrom<'createEnvironment'>>;
    createPlatformVersion: (params: ParamsFrom<'createPlatformVersion', Record<string, never>>) => Promise<ReturnTypeFrom<'createPlatformVersion'>>;
    createStorageLocation: (params: ParamsFrom<'createStorageLocation', Record<string, never>>) => Promise<ReturnTypeFrom<'createStorageLocation'>>;
    deleteApplication: (params: ParamsFrom<'deleteApplication', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteApplication'>>;
    deleteApplicationVersion: (params: ParamsFrom<'deleteApplicationVersion', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteApplicationVersion'>>;
    deleteConfigurationTemplate: (params: ParamsFrom<'deleteConfigurationTemplate', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteConfigurationTemplate'>>;
    deleteEnvironmentConfiguration: (params: ParamsFrom<'deleteEnvironmentConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteEnvironmentConfiguration'>>;
    deletePlatformVersion: (params: ParamsFrom<'deletePlatformVersion', Record<string, never>>) => Promise<ReturnTypeFrom<'deletePlatformVersion'>>;
    describeAccountAttributes: (params: ParamsFrom<'describeAccountAttributes', Record<string, never>>) => Promise<ReturnTypeFrom<'describeAccountAttributes'>>;
    describeApplicationVersions: (params: ParamsFrom<'describeApplicationVersions', Record<string, never>>) => Promise<ReturnTypeFrom<'describeApplicationVersions'>>;
    describeApplications: (params: ParamsFrom<'describeApplications', Record<string, never>>) => Promise<ReturnTypeFrom<'describeApplications'>>;
    describeConfigurationOptions: (params: ParamsFrom<'describeConfigurationOptions', Record<string, never>>) => Promise<ReturnTypeFrom<'describeConfigurationOptions'>>;
    describeConfigurationSettings: (params: ParamsFrom<'describeConfigurationSettings', Record<string, never>>) => Promise<ReturnTypeFrom<'describeConfigurationSettings'>>;
    describeEnvironmentHealth: (params: ParamsFrom<'describeEnvironmentHealth', Record<string, never>>) => Promise<ReturnTypeFrom<'describeEnvironmentHealth'>>;
    describeEnvironmentManagedActionHistory(params: {
        [K in keyof ParamsFrom<'describeEnvironmentManagedActionHistory', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'describeEnvironmentManagedActionHistory', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'describeEnvironmentManagedActionHistory'>]-?: ReturnTypeFrom<'describeEnvironmentManagedActionHistory'>[K];
        }['ManagedActionHistoryItems'];
    }>;
    describeEnvironmentManagedActions: (params: ParamsFrom<'describeEnvironmentManagedActions', Record<string, never>>) => Promise<ReturnTypeFrom<'describeEnvironmentManagedActions'>>;
    describeEnvironmentResources: (params: ParamsFrom<'describeEnvironmentResources', Record<string, never>>) => Promise<ReturnTypeFrom<'describeEnvironmentResources'>>;
    describeEnvironments: (params: ParamsFrom<'describeEnvironments', Record<string, never>>) => Promise<ReturnTypeFrom<'describeEnvironments'>>;
    describeEvents(params: {
        [K in keyof ParamsFrom<'describeEvents', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'describeEvents', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'describeEvents'>]-?: ReturnTypeFrom<'describeEvents'>[K];
        }['Events'];
    }>;
    describeInstancesHealth: (params: ParamsFrom<'describeInstancesHealth', Record<string, never>>) => Promise<ReturnTypeFrom<'describeInstancesHealth'>>;
    describePlatformVersion: (params: ParamsFrom<'describePlatformVersion', Record<string, never>>) => Promise<ReturnTypeFrom<'describePlatformVersion'>>;
    disassociateEnvironmentOperationsRole: (params: ParamsFrom<'disassociateEnvironmentOperationsRole', Record<string, never>>) => Promise<ReturnTypeFrom<'disassociateEnvironmentOperationsRole'>>;
    listAvailableSolutionStacks: (params: ParamsFrom<'listAvailableSolutionStacks', Record<string, never>>) => Promise<ReturnTypeFrom<'listAvailableSolutionStacks'>>;
    listPlatformBranches: (params: ParamsFrom<'listPlatformBranches', Record<string, never>>) => Promise<ReturnTypeFrom<'listPlatformBranches'>>;
    listPlatformVersions(params: {
        [K in keyof ParamsFrom<'listPlatformVersions', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listPlatformVersions', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listPlatformVersions'>]-?: ReturnTypeFrom<'listPlatformVersions'>[K];
        }['PlatformSummaryList'];
    }>;
    listTagsForResource: (params: ParamsFrom<'listTagsForResource', Record<string, never>>) => Promise<ReturnTypeFrom<'listTagsForResource'>>;
    rebuildEnvironment: (params: ParamsFrom<'rebuildEnvironment', Record<string, never>>) => Promise<ReturnTypeFrom<'rebuildEnvironment'>>;
    requestEnvironmentInfo: (params: ParamsFrom<'requestEnvironmentInfo', Record<string, never>>) => Promise<ReturnTypeFrom<'requestEnvironmentInfo'>>;
    restartAppServer: (params: ParamsFrom<'restartAppServer', Record<string, never>>) => Promise<ReturnTypeFrom<'restartAppServer'>>;
    retrieveEnvironmentInfo: (params: ParamsFrom<'retrieveEnvironmentInfo', Record<string, never>>) => Promise<ReturnTypeFrom<'retrieveEnvironmentInfo'>>;
    swapEnvironmentCNAMEs: (params: ParamsFrom<'swapEnvironmentCNAMEs', Record<string, never>>) => Promise<ReturnTypeFrom<'swapEnvironmentCNAMEs'>>;
    terminateEnvironment: (params: ParamsFrom<'terminateEnvironment', Record<string, never>>) => Promise<ReturnTypeFrom<'terminateEnvironment'>>;
    updateApplication: (params: ParamsFrom<'updateApplication', Record<string, never>>) => Promise<ReturnTypeFrom<'updateApplication'>>;
    updateApplicationResourceLifecycle: (params: ParamsFrom<'updateApplicationResourceLifecycle', Record<string, never>>) => Promise<ReturnTypeFrom<'updateApplicationResourceLifecycle'>>;
    updateApplicationVersion: (params: ParamsFrom<'updateApplicationVersion', Record<string, never>>) => Promise<ReturnTypeFrom<'updateApplicationVersion'>>;
    updateConfigurationTemplate: (params: ParamsFrom<'updateConfigurationTemplate', Record<string, never>>) => Promise<ReturnTypeFrom<'updateConfigurationTemplate'>>;
    updateEnvironment: (params: ParamsFrom<'updateEnvironment', Record<string, never>>) => Promise<ReturnTypeFrom<'updateEnvironment'>>;
    updateTagsForResource: (params: ParamsFrom<'updateTagsForResource', Record<string, never>>) => Promise<ReturnTypeFrom<'updateTagsForResource'>>;
    validateConfigurationSettings: (params: ParamsFrom<'validateConfigurationSettings', Record<string, never>>) => Promise<ReturnTypeFrom<'validateConfigurationSettings'>>;
    static fromClient(client: AWSElasticBeanstalk): ElasticBeanstalk;
    static client(options?: AWSElasticBeanstalk.Types.ClientConfiguration): ElasticBeanstalk;
}
export {};
