import { Request, OpsWorks as AWSOpsWorks } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSOpsWorks> = AWSOpsWorks[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSOpsWorks, Extras> = AWSOpsWorks[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class OpsWorks {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "opsworks";
    readonly global: false;
    readonly category: "Management and Governance";
    readonly topLevelCalls: readonly ["describeApps", "describeCommands", "describeDeployments", "describeEcsClusters", "describeElasticIps", "describeElasticLoadBalancers", "describeInstances", "describeLayers", "describePermissions", "describeRaidArrays", "describeServiceErrors", "describeStacks", "describeUserProfiles", "describeVolumes"];
    assignInstance: (params: ParamsFrom<'assignInstance', Record<string, never>>) => Promise<ReturnTypeFrom<'assignInstance'>>;
    assignVolume: (params: ParamsFrom<'assignVolume', Record<string, never>>) => Promise<ReturnTypeFrom<'assignVolume'>>;
    associateElasticIp: (params: ParamsFrom<'associateElasticIp', Record<string, never>>) => Promise<ReturnTypeFrom<'associateElasticIp'>>;
    attachElasticLoadBalancer: (params: ParamsFrom<'attachElasticLoadBalancer', Record<string, never>>) => Promise<ReturnTypeFrom<'attachElasticLoadBalancer'>>;
    cloneStack: (params: ParamsFrom<'cloneStack', Record<string, never>>) => Promise<ReturnTypeFrom<'cloneStack'>>;
    createApp: (params: ParamsFrom<'createApp', Record<string, never>>) => Promise<ReturnTypeFrom<'createApp'>>;
    createDeployment: (params: ParamsFrom<'createDeployment', Record<string, never>>) => Promise<ReturnTypeFrom<'createDeployment'>>;
    createInstance: (params: ParamsFrom<'createInstance', Record<string, never>>) => Promise<ReturnTypeFrom<'createInstance'>>;
    createLayer: (params: ParamsFrom<'createLayer', Record<string, never>>) => Promise<ReturnTypeFrom<'createLayer'>>;
    createStack: (params: ParamsFrom<'createStack', Record<string, never>>) => Promise<ReturnTypeFrom<'createStack'>>;
    createUserProfile: (params: ParamsFrom<'createUserProfile', Record<string, never>>) => Promise<ReturnTypeFrom<'createUserProfile'>>;
    deleteApp: (params: ParamsFrom<'deleteApp', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteApp'>>;
    deleteInstance: (params: ParamsFrom<'deleteInstance', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteInstance'>>;
    deleteLayer: (params: ParamsFrom<'deleteLayer', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteLayer'>>;
    deleteStack: (params: ParamsFrom<'deleteStack', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteStack'>>;
    deleteUserProfile: (params: ParamsFrom<'deleteUserProfile', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteUserProfile'>>;
    deregisterEcsCluster: (params: ParamsFrom<'deregisterEcsCluster', Record<string, never>>) => Promise<ReturnTypeFrom<'deregisterEcsCluster'>>;
    deregisterElasticIp: (params: ParamsFrom<'deregisterElasticIp', Record<string, never>>) => Promise<ReturnTypeFrom<'deregisterElasticIp'>>;
    deregisterInstance: (params: ParamsFrom<'deregisterInstance', Record<string, never>>) => Promise<ReturnTypeFrom<'deregisterInstance'>>;
    deregisterRdsDbInstance: (params: ParamsFrom<'deregisterRdsDbInstance', Record<string, never>>) => Promise<ReturnTypeFrom<'deregisterRdsDbInstance'>>;
    deregisterVolume: (params: ParamsFrom<'deregisterVolume', Record<string, never>>) => Promise<ReturnTypeFrom<'deregisterVolume'>>;
    describeAgentVersions: (params: ParamsFrom<'describeAgentVersions', Record<string, never>>) => Promise<ReturnTypeFrom<'describeAgentVersions'>>;
    describeApps: (params: ParamsFrom<'describeApps', Record<string, never>>) => Promise<ReturnTypeFrom<'describeApps'>>;
    describeCommands: (params: ParamsFrom<'describeCommands', Record<string, never>>) => Promise<ReturnTypeFrom<'describeCommands'>>;
    describeDeployments: (params: ParamsFrom<'describeDeployments', Record<string, never>>) => Promise<ReturnTypeFrom<'describeDeployments'>>;
    describeEcsClusters(params: {
        [K in keyof ParamsFrom<'describeEcsClusters', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'describeEcsClusters', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'describeEcsClusters'>]-?: ReturnTypeFrom<'describeEcsClusters'>[K];
        }['EcsClusters'];
    }>;
    describeElasticIps: (params: ParamsFrom<'describeElasticIps', Record<string, never>>) => Promise<ReturnTypeFrom<'describeElasticIps'>>;
    describeElasticLoadBalancers: (params: ParamsFrom<'describeElasticLoadBalancers', Record<string, never>>) => Promise<ReturnTypeFrom<'describeElasticLoadBalancers'>>;
    describeInstances: (params: ParamsFrom<'describeInstances', Record<string, never>>) => Promise<ReturnTypeFrom<'describeInstances'>>;
    describeLayers: (params: ParamsFrom<'describeLayers', Record<string, never>>) => Promise<ReturnTypeFrom<'describeLayers'>>;
    describeLoadBasedAutoScaling: (params: ParamsFrom<'describeLoadBasedAutoScaling', Record<string, never>>) => Promise<ReturnTypeFrom<'describeLoadBasedAutoScaling'>>;
    describeMyUserProfile: (params: ParamsFrom<'describeMyUserProfile', Record<string, never>>) => Promise<ReturnTypeFrom<'describeMyUserProfile'>>;
    describeOperatingSystems: (params: ParamsFrom<'describeOperatingSystems', Record<string, never>>) => Promise<ReturnTypeFrom<'describeOperatingSystems'>>;
    describePermissions: (params: ParamsFrom<'describePermissions', Record<string, never>>) => Promise<ReturnTypeFrom<'describePermissions'>>;
    describeRaidArrays: (params: ParamsFrom<'describeRaidArrays', Record<string, never>>) => Promise<ReturnTypeFrom<'describeRaidArrays'>>;
    describeRdsDbInstances: (params: ParamsFrom<'describeRdsDbInstances', Record<string, never>>) => Promise<ReturnTypeFrom<'describeRdsDbInstances'>>;
    describeServiceErrors: (params: ParamsFrom<'describeServiceErrors', Record<string, never>>) => Promise<ReturnTypeFrom<'describeServiceErrors'>>;
    describeStackProvisioningParameters: (params: ParamsFrom<'describeStackProvisioningParameters', Record<string, never>>) => Promise<ReturnTypeFrom<'describeStackProvisioningParameters'>>;
    describeStackSummary: (params: ParamsFrom<'describeStackSummary', Record<string, never>>) => Promise<ReturnTypeFrom<'describeStackSummary'>>;
    describeStacks: (params: ParamsFrom<'describeStacks', Record<string, never>>) => Promise<ReturnTypeFrom<'describeStacks'>>;
    describeTimeBasedAutoScaling: (params: ParamsFrom<'describeTimeBasedAutoScaling', Record<string, never>>) => Promise<ReturnTypeFrom<'describeTimeBasedAutoScaling'>>;
    describeUserProfiles: (params: ParamsFrom<'describeUserProfiles', Record<string, never>>) => Promise<ReturnTypeFrom<'describeUserProfiles'>>;
    describeVolumes: (params: ParamsFrom<'describeVolumes', Record<string, never>>) => Promise<ReturnTypeFrom<'describeVolumes'>>;
    detachElasticLoadBalancer: (params: ParamsFrom<'detachElasticLoadBalancer', Record<string, never>>) => Promise<ReturnTypeFrom<'detachElasticLoadBalancer'>>;
    disassociateElasticIp: (params: ParamsFrom<'disassociateElasticIp', Record<string, never>>) => Promise<ReturnTypeFrom<'disassociateElasticIp'>>;
    getHostnameSuggestion: (params: ParamsFrom<'getHostnameSuggestion', Record<string, never>>) => Promise<ReturnTypeFrom<'getHostnameSuggestion'>>;
    grantAccess: (params: ParamsFrom<'grantAccess', Record<string, never>>) => Promise<ReturnTypeFrom<'grantAccess'>>;
    listTags: (params: ParamsFrom<'listTags', Record<string, never>>) => Promise<ReturnTypeFrom<'listTags'>>;
    rebootInstance: (params: ParamsFrom<'rebootInstance', Record<string, never>>) => Promise<ReturnTypeFrom<'rebootInstance'>>;
    registerEcsCluster: (params: ParamsFrom<'registerEcsCluster', Record<string, never>>) => Promise<ReturnTypeFrom<'registerEcsCluster'>>;
    registerElasticIp: (params: ParamsFrom<'registerElasticIp', Record<string, never>>) => Promise<ReturnTypeFrom<'registerElasticIp'>>;
    registerInstance: (params: ParamsFrom<'registerInstance', Record<string, never>>) => Promise<ReturnTypeFrom<'registerInstance'>>;
    registerRdsDbInstance: (params: ParamsFrom<'registerRdsDbInstance', Record<string, never>>) => Promise<ReturnTypeFrom<'registerRdsDbInstance'>>;
    registerVolume: (params: ParamsFrom<'registerVolume', Record<string, never>>) => Promise<ReturnTypeFrom<'registerVolume'>>;
    setLoadBasedAutoScaling: (params: ParamsFrom<'setLoadBasedAutoScaling', Record<string, never>>) => Promise<ReturnTypeFrom<'setLoadBasedAutoScaling'>>;
    setPermission: (params: ParamsFrom<'setPermission', Record<string, never>>) => Promise<ReturnTypeFrom<'setPermission'>>;
    setTimeBasedAutoScaling: (params: ParamsFrom<'setTimeBasedAutoScaling', Record<string, never>>) => Promise<ReturnTypeFrom<'setTimeBasedAutoScaling'>>;
    startInstance: (params: ParamsFrom<'startInstance', Record<string, never>>) => Promise<ReturnTypeFrom<'startInstance'>>;
    startStack: (params: ParamsFrom<'startStack', Record<string, never>>) => Promise<ReturnTypeFrom<'startStack'>>;
    stopInstance: (params: ParamsFrom<'stopInstance', Record<string, never>>) => Promise<ReturnTypeFrom<'stopInstance'>>;
    stopStack: (params: ParamsFrom<'stopStack', Record<string, never>>) => Promise<ReturnTypeFrom<'stopStack'>>;
    tagResource: (params: ParamsFrom<'tagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'tagResource'>>;
    unassignInstance: (params: ParamsFrom<'unassignInstance', Record<string, never>>) => Promise<ReturnTypeFrom<'unassignInstance'>>;
    unassignVolume: (params: ParamsFrom<'unassignVolume', Record<string, never>>) => Promise<ReturnTypeFrom<'unassignVolume'>>;
    untagResource: (params: ParamsFrom<'untagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'untagResource'>>;
    updateApp: (params: ParamsFrom<'updateApp', Record<string, never>>) => Promise<ReturnTypeFrom<'updateApp'>>;
    updateElasticIp: (params: ParamsFrom<'updateElasticIp', Record<string, never>>) => Promise<ReturnTypeFrom<'updateElasticIp'>>;
    updateInstance: (params: ParamsFrom<'updateInstance', Record<string, never>>) => Promise<ReturnTypeFrom<'updateInstance'>>;
    updateLayer: (params: ParamsFrom<'updateLayer', Record<string, never>>) => Promise<ReturnTypeFrom<'updateLayer'>>;
    updateMyUserProfile: (params: ParamsFrom<'updateMyUserProfile', Record<string, never>>) => Promise<ReturnTypeFrom<'updateMyUserProfile'>>;
    updateRdsDbInstance: (params: ParamsFrom<'updateRdsDbInstance', Record<string, never>>) => Promise<ReturnTypeFrom<'updateRdsDbInstance'>>;
    updateStack: (params: ParamsFrom<'updateStack', Record<string, never>>) => Promise<ReturnTypeFrom<'updateStack'>>;
    updateUserProfile: (params: ParamsFrom<'updateUserProfile', Record<string, never>>) => Promise<ReturnTypeFrom<'updateUserProfile'>>;
    updateVolume: (params: ParamsFrom<'updateVolume', Record<string, never>>) => Promise<ReturnTypeFrom<'updateVolume'>>;
    static fromClient(client: AWSOpsWorks): OpsWorks;
    static client(options?: AWSOpsWorks.Types.ClientConfiguration): OpsWorks;
}
export {};
