import { Request, AutoScaling as AWSAutoScaling } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSAutoScaling> = AWSAutoScaling[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSAutoScaling, Extras> = AWSAutoScaling[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class AutoScaling {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "autoscaling";
    readonly global: false;
    readonly category: "Compute";
    readonly topLevelCalls: readonly ["describeAutoScalingGroups", "describeAutoScalingInstances", "describeLaunchConfigurations", "describeNotificationConfigurations", "describePolicies", "describeScalingActivities", "describeScheduledActions", "describeTags"];
    attachInstances: (params: ParamsFrom<'attachInstances', Record<string, never>>) => Promise<ReturnTypeFrom<'attachInstances'>>;
    attachLoadBalancerTargetGroups: (params: ParamsFrom<'attachLoadBalancerTargetGroups', Record<string, never>>) => Promise<ReturnTypeFrom<'attachLoadBalancerTargetGroups'>>;
    attachLoadBalancers: (params: ParamsFrom<'attachLoadBalancers', Record<string, never>>) => Promise<ReturnTypeFrom<'attachLoadBalancers'>>;
    batchDeleteScheduledAction: (params: ParamsFrom<'batchDeleteScheduledAction', Record<string, never>>) => Promise<ReturnTypeFrom<'batchDeleteScheduledAction'>>;
    batchPutScheduledUpdateGroupAction: (params: ParamsFrom<'batchPutScheduledUpdateGroupAction', Record<string, never>>) => Promise<ReturnTypeFrom<'batchPutScheduledUpdateGroupAction'>>;
    cancelInstanceRefresh: (params: ParamsFrom<'cancelInstanceRefresh', Record<string, never>>) => Promise<ReturnTypeFrom<'cancelInstanceRefresh'>>;
    completeLifecycleAction: (params: ParamsFrom<'completeLifecycleAction', Record<string, never>>) => Promise<ReturnTypeFrom<'completeLifecycleAction'>>;
    createAutoScalingGroup: (params: ParamsFrom<'createAutoScalingGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'createAutoScalingGroup'>>;
    createLaunchConfiguration: (params: ParamsFrom<'createLaunchConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'createLaunchConfiguration'>>;
    createOrUpdateTags: (params: ParamsFrom<'createOrUpdateTags', Record<string, never>>) => Promise<ReturnTypeFrom<'createOrUpdateTags'>>;
    deleteAutoScalingGroup: (params: ParamsFrom<'deleteAutoScalingGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteAutoScalingGroup'>>;
    deleteLaunchConfiguration: (params: ParamsFrom<'deleteLaunchConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteLaunchConfiguration'>>;
    deleteLifecycleHook: (params: ParamsFrom<'deleteLifecycleHook', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteLifecycleHook'>>;
    deleteNotificationConfiguration: (params: ParamsFrom<'deleteNotificationConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteNotificationConfiguration'>>;
    deletePolicy: (params: ParamsFrom<'deletePolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'deletePolicy'>>;
    deleteScheduledAction: (params: ParamsFrom<'deleteScheduledAction', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteScheduledAction'>>;
    deleteTags: (params: ParamsFrom<'deleteTags', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteTags'>>;
    deleteWarmPool: (params: ParamsFrom<'deleteWarmPool', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteWarmPool'>>;
    describeAccountLimits: (params: ParamsFrom<'describeAccountLimits', Record<string, never>>) => Promise<ReturnTypeFrom<'describeAccountLimits'>>;
    describeAdjustmentTypes: (params: ParamsFrom<'describeAdjustmentTypes', Record<string, never>>) => Promise<ReturnTypeFrom<'describeAdjustmentTypes'>>;
    describeAutoScalingGroups(params: {
        [K in keyof ParamsFrom<'describeAutoScalingGroups', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'describeAutoScalingGroups', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'describeAutoScalingGroups'>]-?: ReturnTypeFrom<'describeAutoScalingGroups'>[K];
        }['AutoScalingGroups'];
    }>;
    describeAutoScalingInstances(params: {
        [K in keyof ParamsFrom<'describeAutoScalingInstances', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'describeAutoScalingInstances', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'describeAutoScalingInstances'>]-?: ReturnTypeFrom<'describeAutoScalingInstances'>[K];
        }['AutoScalingInstances'];
    }>;
    describeAutoScalingNotificationTypes: (params: ParamsFrom<'describeAutoScalingNotificationTypes', Record<string, never>>) => Promise<ReturnTypeFrom<'describeAutoScalingNotificationTypes'>>;
    describeInstanceRefreshes: (params: ParamsFrom<'describeInstanceRefreshes', Record<string, never>>) => Promise<ReturnTypeFrom<'describeInstanceRefreshes'>>;
    describeLaunchConfigurations(params: {
        [K in keyof ParamsFrom<'describeLaunchConfigurations', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'describeLaunchConfigurations', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'describeLaunchConfigurations'>]-?: ReturnTypeFrom<'describeLaunchConfigurations'>[K];
        }['LaunchConfigurations'];
    }>;
    describeLifecycleHookTypes: (params: ParamsFrom<'describeLifecycleHookTypes', Record<string, never>>) => Promise<ReturnTypeFrom<'describeLifecycleHookTypes'>>;
    describeLifecycleHooks: (params: ParamsFrom<'describeLifecycleHooks', Record<string, never>>) => Promise<ReturnTypeFrom<'describeLifecycleHooks'>>;
    describeLoadBalancerTargetGroups: (params: ParamsFrom<'describeLoadBalancerTargetGroups', Record<string, never>>) => Promise<ReturnTypeFrom<'describeLoadBalancerTargetGroups'>>;
    describeLoadBalancers: (params: ParamsFrom<'describeLoadBalancers', Record<string, never>>) => Promise<ReturnTypeFrom<'describeLoadBalancers'>>;
    describeMetricCollectionTypes: (params: ParamsFrom<'describeMetricCollectionTypes', Record<string, never>>) => Promise<ReturnTypeFrom<'describeMetricCollectionTypes'>>;
    describeNotificationConfigurations(params: {
        [K in keyof ParamsFrom<'describeNotificationConfigurations', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'describeNotificationConfigurations', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'describeNotificationConfigurations'>]-?: ReturnTypeFrom<'describeNotificationConfigurations'>[K];
        }['NotificationConfigurations'];
    }>;
    describePolicies(params: {
        [K in keyof ParamsFrom<'describePolicies', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'describePolicies', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'describePolicies'>]-?: ReturnTypeFrom<'describePolicies'>[K];
        }['ScalingPolicies'];
    }>;
    describeScalingActivities(params: {
        [K in keyof ParamsFrom<'describeScalingActivities', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'describeScalingActivities', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'describeScalingActivities'>]-?: ReturnTypeFrom<'describeScalingActivities'>[K];
        }['Activities'];
    }>;
    describeScalingProcessTypes: (params: ParamsFrom<'describeScalingProcessTypes', Record<string, never>>) => Promise<ReturnTypeFrom<'describeScalingProcessTypes'>>;
    describeScheduledActions(params: {
        [K in keyof ParamsFrom<'describeScheduledActions', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'describeScheduledActions', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'describeScheduledActions'>]-?: ReturnTypeFrom<'describeScheduledActions'>[K];
        }['ScheduledUpdateGroupActions'];
    }>;
    describeTags(params: {
        [K in keyof ParamsFrom<'describeTags', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'describeTags', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'describeTags'>]-?: ReturnTypeFrom<'describeTags'>[K];
        }['Tags'];
    }>;
    describeTerminationPolicyTypes: (params: ParamsFrom<'describeTerminationPolicyTypes', Record<string, never>>) => Promise<ReturnTypeFrom<'describeTerminationPolicyTypes'>>;
    describeWarmPool: (params: ParamsFrom<'describeWarmPool', Record<string, never>>) => Promise<ReturnTypeFrom<'describeWarmPool'>>;
    detachInstances: (params: ParamsFrom<'detachInstances', Record<string, never>>) => Promise<ReturnTypeFrom<'detachInstances'>>;
    detachLoadBalancerTargetGroups: (params: ParamsFrom<'detachLoadBalancerTargetGroups', Record<string, never>>) => Promise<ReturnTypeFrom<'detachLoadBalancerTargetGroups'>>;
    detachLoadBalancers: (params: ParamsFrom<'detachLoadBalancers', Record<string, never>>) => Promise<ReturnTypeFrom<'detachLoadBalancers'>>;
    disableMetricsCollection: (params: ParamsFrom<'disableMetricsCollection', Record<string, never>>) => Promise<ReturnTypeFrom<'disableMetricsCollection'>>;
    enableMetricsCollection: (params: ParamsFrom<'enableMetricsCollection', Record<string, never>>) => Promise<ReturnTypeFrom<'enableMetricsCollection'>>;
    enterStandby: (params: ParamsFrom<'enterStandby', Record<string, never>>) => Promise<ReturnTypeFrom<'enterStandby'>>;
    executePolicy: (params: ParamsFrom<'executePolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'executePolicy'>>;
    exitStandby: (params: ParamsFrom<'exitStandby', Record<string, never>>) => Promise<ReturnTypeFrom<'exitStandby'>>;
    getPredictiveScalingForecast: (params: ParamsFrom<'getPredictiveScalingForecast', Record<string, never>>) => Promise<ReturnTypeFrom<'getPredictiveScalingForecast'>>;
    putLifecycleHook: (params: ParamsFrom<'putLifecycleHook', Record<string, never>>) => Promise<ReturnTypeFrom<'putLifecycleHook'>>;
    putNotificationConfiguration: (params: ParamsFrom<'putNotificationConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'putNotificationConfiguration'>>;
    putScalingPolicy: (params: ParamsFrom<'putScalingPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'putScalingPolicy'>>;
    putScheduledUpdateGroupAction: (params: ParamsFrom<'putScheduledUpdateGroupAction', Record<string, never>>) => Promise<ReturnTypeFrom<'putScheduledUpdateGroupAction'>>;
    putWarmPool: (params: ParamsFrom<'putWarmPool', Record<string, never>>) => Promise<ReturnTypeFrom<'putWarmPool'>>;
    recordLifecycleActionHeartbeat: (params: ParamsFrom<'recordLifecycleActionHeartbeat', Record<string, never>>) => Promise<ReturnTypeFrom<'recordLifecycleActionHeartbeat'>>;
    resumeProcesses: (params: ParamsFrom<'resumeProcesses', Record<string, never>>) => Promise<ReturnTypeFrom<'resumeProcesses'>>;
    setDesiredCapacity: (params: ParamsFrom<'setDesiredCapacity', Record<string, never>>) => Promise<ReturnTypeFrom<'setDesiredCapacity'>>;
    setInstanceHealth: (params: ParamsFrom<'setInstanceHealth', Record<string, never>>) => Promise<ReturnTypeFrom<'setInstanceHealth'>>;
    setInstanceProtection: (params: ParamsFrom<'setInstanceProtection', Record<string, never>>) => Promise<ReturnTypeFrom<'setInstanceProtection'>>;
    startInstanceRefresh: (params: ParamsFrom<'startInstanceRefresh', Record<string, never>>) => Promise<ReturnTypeFrom<'startInstanceRefresh'>>;
    suspendProcesses: (params: ParamsFrom<'suspendProcesses', Record<string, never>>) => Promise<ReturnTypeFrom<'suspendProcesses'>>;
    terminateInstanceInAutoScalingGroup: (params: ParamsFrom<'terminateInstanceInAutoScalingGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'terminateInstanceInAutoScalingGroup'>>;
    updateAutoScalingGroup: (params: ParamsFrom<'updateAutoScalingGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'updateAutoScalingGroup'>>;
    static fromClient(client: AWSAutoScaling): AutoScaling;
    static client(options?: AWSAutoScaling.Types.ClientConfiguration): AutoScaling;
}
export {};
