import * as core from "@terrascript/core";
export interface ManagedScalingArgs extends core.SchemaArgs {
    instanceWarmupPeriod?: number | core.NumberOut;
    maximumScalingStepSize?: number | core.NumberOut;
    minimumScalingStepSize?: number | core.NumberOut;
    status?: string | core.StringOut;
    targetCapacity?: number | core.NumberOut;
}
export declare class ManagedScaling extends core.Schema<ManagedScalingArgs> {
    instanceWarmupPeriod?: number | core.NumberOut;
    maximumScalingStepSize?: number | core.NumberOut;
    minimumScalingStepSize?: number | core.NumberOut;
    status?: string | core.StringOut;
    targetCapacity?: number | core.NumberOut;
}
export interface AutoScalingGroupProviderArgs extends core.SchemaArgs {
    autoScalingGroupArn: string | core.StringOut;
    managedScaling?: ManagedScaling;
    managedTerminationProtection?: string | core.StringOut;
}
export declare class AutoScalingGroupProvider extends core.Schema<AutoScalingGroupProviderArgs> {
    autoScalingGroupArn: string | core.StringOut;
    managedScaling?: ManagedScaling;
    managedTerminationProtection?: string | core.StringOut;
}
export interface CapacityProviderArgs extends core.ResourceArgs {
    autoScalingGroupProvider: AutoScalingGroupProvider;
    name: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export declare class CapacityProvider extends core.Resource<CapacityProviderArgs> {
    arn: string | core.StringOut;
    autoScalingGroupProvider: AutoScalingGroupProvider;
    id: string | core.StringOut;
    name: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    constructor(name: string, args?: CapacityProviderArgs);
    getNamespace(): string;
}
//# sourceMappingURL=capacity_provider.d.ts.map