import { ResourceBase } from '../resource'; import { Value, List } from '../dataTypes'; export declare class CustomizedScalingMetricSpecification { MetricName: Value; Statistic: Value; Dimensions?: List; Unit?: Value; Namespace: Value; constructor(properties: CustomizedScalingMetricSpecification); } export declare class TagFilter { Values?: List>; Key: Value; constructor(properties: TagFilter); } export declare class CustomizedLoadMetricSpecification { MetricName: Value; Statistic: Value; Dimensions?: List; Unit?: Value; Namespace: Value; constructor(properties: CustomizedLoadMetricSpecification); } export declare class ApplicationSource { CloudFormationStackARN?: Value; TagFilters?: List; constructor(properties: ApplicationSource); } export declare class ScalingInstruction { DisableDynamicScaling?: Value; ServiceNamespace: Value; PredictiveScalingMaxCapacityBehavior?: Value; ScalableDimension: Value; ScalingPolicyUpdateBehavior?: Value; MinCapacity: Value; TargetTrackingConfigurations: List; PredictiveScalingMaxCapacityBuffer?: Value; CustomizedLoadMetricSpecification?: CustomizedLoadMetricSpecification; PredefinedLoadMetricSpecification?: PredefinedLoadMetricSpecification; ResourceId: Value; ScheduledActionBufferTime?: Value; MaxCapacity: Value; PredictiveScalingMode?: Value; constructor(properties: ScalingInstruction); } export declare class TargetTrackingConfiguration { ScaleOutCooldown?: Value; TargetValue: Value; PredefinedScalingMetricSpecification?: PredefinedScalingMetricSpecification; DisableScaleIn?: Value; ScaleInCooldown?: Value; EstimatedInstanceWarmup?: Value; CustomizedScalingMetricSpecification?: CustomizedScalingMetricSpecification; constructor(properties: TargetTrackingConfiguration); } export declare class MetricDimension { Value: Value; Name: Value; constructor(properties: MetricDimension); } export declare class PredefinedScalingMetricSpecification { ResourceLabel?: Value; PredefinedScalingMetricType: Value; constructor(properties: PredefinedScalingMetricSpecification); } export declare class PredefinedLoadMetricSpecification { PredefinedLoadMetricType: Value; ResourceLabel?: Value; constructor(properties: PredefinedLoadMetricSpecification); } export interface ScalingPlanProperties { ApplicationSource: ApplicationSource; ScalingInstructions: List; } export default class ScalingPlan extends ResourceBase { static CustomizedScalingMetricSpecification: typeof CustomizedScalingMetricSpecification; static TagFilter: typeof TagFilter; static CustomizedLoadMetricSpecification: typeof CustomizedLoadMetricSpecification; static ApplicationSource: typeof ApplicationSource; static ScalingInstruction: typeof ScalingInstruction; static TargetTrackingConfiguration: typeof TargetTrackingConfiguration; static MetricDimension: typeof MetricDimension; static PredefinedScalingMetricSpecification: typeof PredefinedScalingMetricSpecification; static PredefinedLoadMetricSpecification: typeof PredefinedLoadMetricSpecification; constructor(properties: ScalingPlanProperties); }