import { Request, ComputeOptimizer as AWSComputeOptimizer } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSComputeOptimizer> = AWSComputeOptimizer[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSComputeOptimizer, Extras> = AWSComputeOptimizer[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class ComputeOptimizer {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "compute-optimizer";
    readonly global: false;
    readonly category: "Management and Governance";
    readonly topLevelCalls: readonly [];
    deleteRecommendationPreferences: (params: ParamsFrom<'deleteRecommendationPreferences', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteRecommendationPreferences'>>;
    describeRecommendationExportJobs: (params: ParamsFrom<'describeRecommendationExportJobs', Record<string, never>>) => Promise<ReturnTypeFrom<'describeRecommendationExportJobs'>>;
    exportAutoScalingGroupRecommendations: (params: ParamsFrom<'exportAutoScalingGroupRecommendations', Record<string, never>>) => Promise<ReturnTypeFrom<'exportAutoScalingGroupRecommendations'>>;
    exportEBSVolumeRecommendations: (params: ParamsFrom<'exportEBSVolumeRecommendations', Record<string, never>>) => Promise<ReturnTypeFrom<'exportEBSVolumeRecommendations'>>;
    exportEC2InstanceRecommendations: (params: ParamsFrom<'exportEC2InstanceRecommendations', Record<string, never>>) => Promise<ReturnTypeFrom<'exportEC2InstanceRecommendations'>>;
    exportLambdaFunctionRecommendations: (params: ParamsFrom<'exportLambdaFunctionRecommendations', Record<string, never>>) => Promise<ReturnTypeFrom<'exportLambdaFunctionRecommendations'>>;
    getAutoScalingGroupRecommendations: (params: ParamsFrom<'getAutoScalingGroupRecommendations', Record<string, never>>) => Promise<ReturnTypeFrom<'getAutoScalingGroupRecommendations'>>;
    getEBSVolumeRecommendations: (params: ParamsFrom<'getEBSVolumeRecommendations', Record<string, never>>) => Promise<ReturnTypeFrom<'getEBSVolumeRecommendations'>>;
    getEC2InstanceRecommendations: (params: ParamsFrom<'getEC2InstanceRecommendations', Record<string, never>>) => Promise<ReturnTypeFrom<'getEC2InstanceRecommendations'>>;
    getEC2RecommendationProjectedMetrics: (params: ParamsFrom<'getEC2RecommendationProjectedMetrics', Record<string, never>>) => Promise<ReturnTypeFrom<'getEC2RecommendationProjectedMetrics'>>;
    getEffectiveRecommendationPreferences: (params: ParamsFrom<'getEffectiveRecommendationPreferences', Record<string, never>>) => Promise<ReturnTypeFrom<'getEffectiveRecommendationPreferences'>>;
    getEnrollmentStatus: (params: ParamsFrom<'getEnrollmentStatus', Record<string, never>>) => Promise<ReturnTypeFrom<'getEnrollmentStatus'>>;
    getEnrollmentStatusesForOrganization: (params: ParamsFrom<'getEnrollmentStatusesForOrganization', Record<string, never>>) => Promise<ReturnTypeFrom<'getEnrollmentStatusesForOrganization'>>;
    getLambdaFunctionRecommendations: (params: ParamsFrom<'getLambdaFunctionRecommendations', Record<string, never>>) => Promise<ReturnTypeFrom<'getLambdaFunctionRecommendations'>>;
    getRecommendationPreferences: (params: ParamsFrom<'getRecommendationPreferences', Record<string, never>>) => Promise<ReturnTypeFrom<'getRecommendationPreferences'>>;
    getRecommendationSummaries: (params: ParamsFrom<'getRecommendationSummaries', Record<string, never>>) => Promise<ReturnTypeFrom<'getRecommendationSummaries'>>;
    putRecommendationPreferences: (params: ParamsFrom<'putRecommendationPreferences', Record<string, never>>) => Promise<ReturnTypeFrom<'putRecommendationPreferences'>>;
    updateEnrollmentStatus: (params: ParamsFrom<'updateEnrollmentStatus', Record<string, never>>) => Promise<ReturnTypeFrom<'updateEnrollmentStatus'>>;
    static fromClient(client: AWSComputeOptimizer): ComputeOptimizer;
    static client(options?: AWSComputeOptimizer.Types.ClientConfiguration): ComputeOptimizer;
}
export {};
