import { Request, AutoScalingPlans as AWSAutoScalingPlans } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSAutoScalingPlans> = AWSAutoScalingPlans[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSAutoScalingPlans, Extras> = AWSAutoScalingPlans[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class AutoScalingPlans {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "autoscaling-plans";
    readonly global: false;
    readonly category: "Compute";
    readonly topLevelCalls: readonly [];
    createScalingPlan: (params: ParamsFrom<'createScalingPlan', Record<string, never>>) => Promise<ReturnTypeFrom<'createScalingPlan'>>;
    deleteScalingPlan: (params: ParamsFrom<'deleteScalingPlan', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteScalingPlan'>>;
    describeScalingPlanResources: (params: ParamsFrom<'describeScalingPlanResources', Record<string, never>>) => Promise<ReturnTypeFrom<'describeScalingPlanResources'>>;
    describeScalingPlans: (params: ParamsFrom<'describeScalingPlans', Record<string, never>>) => Promise<ReturnTypeFrom<'describeScalingPlans'>>;
    getScalingPlanResourceForecastData: (params: ParamsFrom<'getScalingPlanResourceForecastData', Record<string, never>>) => Promise<ReturnTypeFrom<'getScalingPlanResourceForecastData'>>;
    updateScalingPlan: (params: ParamsFrom<'updateScalingPlan', Record<string, never>>) => Promise<ReturnTypeFrom<'updateScalingPlan'>>;
    static fromClient(client: AWSAutoScalingPlans): AutoScalingPlans;
    static client(options?: AWSAutoScalingPlans.Types.ClientConfiguration): AutoScalingPlans;
}
export {};
