export interface StepScalingPolicyConfiguration {
    /** Specifies how the ScalingAdjustment value in a StepAdjustment is interpreted (for example, an absolute number or a percentage). The valid values are ChangeInCapacity, ExactCapacity, and PercentChangeI */
    AdjustmentType?: 'ChangeInCapacity' | 'PercentChangeInCapacity' | 'ExactCapacity';
    /** A set of adjustments that enable you to scale based on the size of the alarm breach. At least one step adjustment is required if you are adding a new step scaling policy configuration. */
    StepAdjustments?: any[];
    /** The minimum value to scale by when the adjustment type is PercentChangeInCapacity. For example, suppose that you create a step scaling policy to scale out an Amazon ECS service by 25 percent and you s */
    MinAdjustmentMagnitude?: number;
    /** The amount of time, in seconds, to wait for a previous scaling activity to take effect. If not specified, the default value is 300. For more information, see Cooldown period in the Application Auto Sc */
    Cooldown?: number;
    /** The aggregation type for the CloudWatch metrics. Valid values are Minimum, Maximum, and Average. If the aggregation type is null, the value is treated as Average. */
    MetricAggregationType?: 'Average' | 'Minimum' | 'Maximum';
}
export interface PredefinedMetricSpecification {
    /** The metric type. The ALBRequestCountPerTarget metric type applies only to Spot Fleets and ECS services. */
    PredefinedMetricType: 'DynamoDBReadCapacityUtilization' | 'DynamoDBWriteCapacityUtilization' | 'ALBRequestCountPerTarget' | 'RDSReaderAverageCPUUtilization' | 'RDSReaderAverageDatabaseConnections' | 'EC2SpotFleetRequestAverageCPUUtilization' | 'EC2SpotFleetRequestAverageNetworkIn' | 'EC2SpotFleetRequestAverageNetworkOut' | 'SageMakerVariantInvocationsPerInstance' | 'ECSServiceAverageCPUUtilization' | 'ECSServiceAverageMemoryUtilization' | 'AppStreamAverageCapacityUtilization' | 'ComprehendInferenceUtilization' | 'LambdaProvisionedConcurrencyUtilization' | 'CassandraReadCapacityUtilization' | 'CassandraWriteCapacityUtilization' | 'KafkaBrokerStorageUtilization' | 'ElastiCacheEngineCPUUtilization' | 'ElastiCacheDatabaseMemoryUsagePercentage' | 'ElastiCachePrimaryEngineCPUUtilization' | 'ElastiCacheReplicaEngineCPUUtilization' | 'ElastiCacheDatabaseMemoryUsageCountedForEvictPercentage' | 'NeptuneReaderAverageCPUUtilization' | 'SageMakerVariantProvisionedConcurrencyUtilization' | 'ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage' | 'SageMakerInferenceComponentInvocationsPerCopy' | 'WorkSpacesAverageUserSessionsCapacityUtilization' | 'SageMakerInferenceComponentConcurrentRequestsPerCopyHighResolution' | 'SageMakerVariantConcurrentRequestsPerModelHighResolution';
    /** Identifies the resource associated with the metric type. You can't specify a resource label unless the metric type is ALBRequestCountPerTarget and there is a target group attached to the Spot Fleet or */
    ResourceLabel?: string;
}
export interface CustomizedMetricSpecification {
    /** The name of the metric. To get the exact metric name, namespace, and dimensions, inspect the Metric object that's returned by a call to ListMetrics. */
    MetricName?: string;
    /** The namespace of the metric. */
    Namespace?: string;
    /** The dimensions of the metric. Conditional: If you published your metric with dimensions, you must specify the same dimensions in your scaling policy. */
    Dimensions?: any[];
    /** The statistic of the metric. */
    Statistic?: 'Average' | 'Minimum' | 'Maximum' | 'SampleCount' | 'Sum';
    /** The unit of the metric. For a complete list of the units that CloudWatch supports, see the MetricDatum data type in the Amazon CloudWatch API Reference. */
    Unit?: string;
    /** The metrics to include in the target tracking scaling policy, as a metric data query. This can include both raw metric and metric math expressions. */
    Metrics?: any[];
}
export interface TargetTrackingScalingPolicyConfiguration {
    /** The target value for the metric. Although this property accepts numbers of type Double, it won't accept values that are either too small or too large. Values must be in the range of -2^360 to 2^360. T */
    TargetValue: number;
    /** A predefined metric. You can specify either a predefined metric or a customized metric. */
    PredefinedMetricSpecification?: PredefinedMetricSpecification;
    /** A customized metric. You can specify either a predefined metric or a customized metric. */
    CustomizedMetricSpecification?: CustomizedMetricSpecification;
    /** The amount of time, in seconds, to wait for a previous scale-out activity to take effect. For more information and for default values, see Define cooldown periods in the Application Auto Scaling User  */
    ScaleOutCooldown?: number;
    /** The amount of time, in seconds, after a scale-in activity completes before another scale-in activity can start. For more information and for default values, see Define cooldown periods in the Applicat */
    ScaleInCooldown?: number;
    /** Indicates whether scale in by the target tracking scaling policy is disabled. If the value is true, scale in is disabled and the target tracking scaling policy won't remove capacity from the scalable  */
    DisableScaleIn?: boolean;
}
export interface PredictiveScalingPolicyConfiguration {
    /** This structure includes the metrics and target utilization to use for predictive scaling. This is an array, but we currently only support a single metric specification. That is, you can specify a targ */
    MetricSpecifications: any[];
    /** The predictive scaling mode. Defaults to ForecastOnly if not specified. */
    Mode?: 'ForecastOnly' | 'ForecastAndScale';
    /** The amount of time, in seconds, that the start time can be advanced. The value must be less than the forecast interval duration of 3600 seconds (60 minutes). Defaults to 300 seconds if not specified. */
    SchedulingBufferTime?: number;
    /** Defines the behavior that should be applied if the forecast capacity approaches or exceeds the maximum capacity. Defaults to HonorMaxCapacity if not specified. */
    MaxCapacityBreachBehavior?: 'HonorMaxCapacity' | 'IncreaseMaxCapacity';
    /** The size of the capacity buffer to use when the forecast capacity is close to or exceeds the maximum capacity. The value is specified as a percentage relative to the forecast capacity. For example, if */
    MaxCapacityBuffer?: number;
}
export interface ScalableTargetAction {
    /** The minimum capacity. When the scheduled action runs, the resource will have at least this much capacity, but it might have more depending on other settings, such as the target utilization level of a  */
    MinCapacity?: number;
    /** The maximum capacity. Although you can specify a large maximum capacity, note that service quotas may impose lower limits. Each service has its own default quotas for the maximum capacity of the resou */
    MaxCapacity?: number;
}
export interface SuspendedState {
    /** Whether scale in by a target tracking scaling policy or a step scaling policy is suspended. Set the value to true if you don't want Application Auto Scaling to remove capacity when a scaling policy is */
    DynamicScalingInSuspended?: boolean;
    /** Whether scale out by a target tracking scaling policy or a step scaling policy is suspended. Set the value to true if you don't want Application Auto Scaling to add capacity when a scaling policy is t */
    DynamicScalingOutSuspended?: boolean;
    /** Whether scheduled scaling is suspended. Set the value to true if you don't want Application Auto Scaling to add or remove capacity by initiating scheduled actions. The default is false. */
    ScheduledScalingSuspended?: boolean;
}
export interface DeleteScalingPolicyInput {
    /** The name of the scaling policy. */
    PolicyName: string;
    /** The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier. ECS service - The resource type is service and the unique identifie */
    ResourceId: string;
    /** The scalable dimension. This string consists of the service namespace, resource type, and scaling property. ecs:service:DesiredCount - The task count of an ECS service. elasticmapreduce:instancegroup: */
    ScalableDimension: 'ecs:service:DesiredCount' | 'ec2:spot-fleet-request:TargetCapacity' | 'elasticmapreduce:instancegroup:InstanceCount' | 'appstream:fleet:DesiredCapacity' | 'dynamodb:table:ReadCapacityUnits' | 'dynamodb:table:WriteCapacityUnits' | 'dynamodb:index:ReadCapacityUnits' | 'dynamodb:index:WriteCapacityUnits' | 'rds:cluster:ReadReplicaCount' | 'sagemaker:variant:DesiredInstanceCount' | 'custom-resource:ResourceType:Property' | 'comprehend:document-classifier-endpoint:DesiredInferenceUnits' | 'comprehend:entity-recognizer-endpoint:DesiredInferenceUnits' | 'lambda:function:ProvisionedConcurrency' | 'cassandra:table:ReadCapacityUnits' | 'cassandra:table:WriteCapacityUnits' | 'kafka:broker-storage:VolumeSize' | 'elasticache:cache-cluster:Nodes' | 'elasticache:replication-group:NodeGroups' | 'elasticache:replication-group:Replicas' | 'neptune:cluster:ReadReplicaCount' | 'sagemaker:variant:DesiredProvisionedConcurrency' | 'sagemaker:inference-component:DesiredCopyCount' | 'workspaces:workspacespool:DesiredUserSessions';
    /** The namespace of the Amazon Web Services service that provides the resource. For a resource provided by your own application or service, use custom-resource instead. */
    ServiceNamespace: 'ecs' | 'elasticmapreduce' | 'ec2' | 'appstream' | 'dynamodb' | 'rds' | 'sagemaker' | 'custom-resource' | 'comprehend' | 'lambda' | 'cassandra' | 'kafka' | 'elasticache' | 'neptune' | 'workspaces';
}
export interface DeleteScheduledActionInput {
    /** The identifier of the resource associated with the scheduled action. This string consists of the resource type and unique identifier. ECS service - The resource type is service and the unique identifi */
    ResourceId: string;
    /** The scalable dimension. This string consists of the service namespace, resource type, and scaling property. ecs:service:DesiredCount - The task count of an ECS service. elasticmapreduce:instancegroup: */
    ScalableDimension: 'ecs:service:DesiredCount' | 'ec2:spot-fleet-request:TargetCapacity' | 'elasticmapreduce:instancegroup:InstanceCount' | 'appstream:fleet:DesiredCapacity' | 'dynamodb:table:ReadCapacityUnits' | 'dynamodb:table:WriteCapacityUnits' | 'dynamodb:index:ReadCapacityUnits' | 'dynamodb:index:WriteCapacityUnits' | 'rds:cluster:ReadReplicaCount' | 'sagemaker:variant:DesiredInstanceCount' | 'custom-resource:ResourceType:Property' | 'comprehend:document-classifier-endpoint:DesiredInferenceUnits' | 'comprehend:entity-recognizer-endpoint:DesiredInferenceUnits' | 'lambda:function:ProvisionedConcurrency' | 'cassandra:table:ReadCapacityUnits' | 'cassandra:table:WriteCapacityUnits' | 'kafka:broker-storage:VolumeSize' | 'elasticache:cache-cluster:Nodes' | 'elasticache:replication-group:NodeGroups' | 'elasticache:replication-group:Replicas' | 'neptune:cluster:ReadReplicaCount' | 'sagemaker:variant:DesiredProvisionedConcurrency' | 'sagemaker:inference-component:DesiredCopyCount' | 'workspaces:workspacespool:DesiredUserSessions';
    /** The name of the scheduled action. */
    ScheduledActionName: string;
    /** The namespace of the Amazon Web Services service that provides the resource. For a resource provided by your own application or service, use custom-resource instead. */
    ServiceNamespace: 'ecs' | 'elasticmapreduce' | 'ec2' | 'appstream' | 'dynamodb' | 'rds' | 'sagemaker' | 'custom-resource' | 'comprehend' | 'lambda' | 'cassandra' | 'kafka' | 'elasticache' | 'neptune' | 'workspaces';
}
export interface DeregisterScalableTargetInput {
    /** The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier. ECS service - The resource type is service and the unique identifie */
    ResourceId: string;
    /** The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property. ecs:service:DesiredCount - The task count of an ECS serv */
    ScalableDimension: 'ecs:service:DesiredCount' | 'ec2:spot-fleet-request:TargetCapacity' | 'elasticmapreduce:instancegroup:InstanceCount' | 'appstream:fleet:DesiredCapacity' | 'dynamodb:table:ReadCapacityUnits' | 'dynamodb:table:WriteCapacityUnits' | 'dynamodb:index:ReadCapacityUnits' | 'dynamodb:index:WriteCapacityUnits' | 'rds:cluster:ReadReplicaCount' | 'sagemaker:variant:DesiredInstanceCount' | 'custom-resource:ResourceType:Property' | 'comprehend:document-classifier-endpoint:DesiredInferenceUnits' | 'comprehend:entity-recognizer-endpoint:DesiredInferenceUnits' | 'lambda:function:ProvisionedConcurrency' | 'cassandra:table:ReadCapacityUnits' | 'cassandra:table:WriteCapacityUnits' | 'kafka:broker-storage:VolumeSize' | 'elasticache:cache-cluster:Nodes' | 'elasticache:replication-group:NodeGroups' | 'elasticache:replication-group:Replicas' | 'neptune:cluster:ReadReplicaCount' | 'sagemaker:variant:DesiredProvisionedConcurrency' | 'sagemaker:inference-component:DesiredCopyCount' | 'workspaces:workspacespool:DesiredUserSessions';
    /** The namespace of the Amazon Web Services service that provides the resource. For a resource provided by your own application or service, use custom-resource instead. */
    ServiceNamespace: 'ecs' | 'elasticmapreduce' | 'ec2' | 'appstream' | 'dynamodb' | 'rds' | 'sagemaker' | 'custom-resource' | 'comprehend' | 'lambda' | 'cassandra' | 'kafka' | 'elasticache' | 'neptune' | 'workspaces';
}
export interface DescribeScalableTargetsInput {
    /** The namespace of the Amazon Web Services service that provides the resource. For a resource provided by your own application or service, use custom-resource instead. */
    ServiceNamespace: 'ecs' | 'elasticmapreduce' | 'ec2' | 'appstream' | 'dynamodb' | 'rds' | 'sagemaker' | 'custom-resource' | 'comprehend' | 'lambda' | 'cassandra' | 'kafka' | 'elasticache' | 'neptune' | 'workspaces';
    /** The maximum number of scalable targets. This value can be between 1 and 50. The default value is 50. If this parameter is used, the operation returns up to MaxResults results at a time, along with a N */
    MaxResults?: number;
    /** The token for the next set of results. */
    NextToken?: string;
    /** The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier. ECS service - The resource type is service and the unique identifie */
    ResourceIds?: string[];
    /** The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also speci */
    ScalableDimension?: 'ecs:service:DesiredCount' | 'ec2:spot-fleet-request:TargetCapacity' | 'elasticmapreduce:instancegroup:InstanceCount' | 'appstream:fleet:DesiredCapacity' | 'dynamodb:table:ReadCapacityUnits' | 'dynamodb:table:WriteCapacityUnits' | 'dynamodb:index:ReadCapacityUnits' | 'dynamodb:index:WriteCapacityUnits' | 'rds:cluster:ReadReplicaCount' | 'sagemaker:variant:DesiredInstanceCount' | 'custom-resource:ResourceType:Property' | 'comprehend:document-classifier-endpoint:DesiredInferenceUnits' | 'comprehend:entity-recognizer-endpoint:DesiredInferenceUnits' | 'lambda:function:ProvisionedConcurrency' | 'cassandra:table:ReadCapacityUnits' | 'cassandra:table:WriteCapacityUnits' | 'kafka:broker-storage:VolumeSize' | 'elasticache:cache-cluster:Nodes' | 'elasticache:replication-group:NodeGroups' | 'elasticache:replication-group:Replicas' | 'neptune:cluster:ReadReplicaCount' | 'sagemaker:variant:DesiredProvisionedConcurrency' | 'sagemaker:inference-component:DesiredCopyCount' | 'workspaces:workspacespool:DesiredUserSessions';
}
export interface DescribeScalingActivitiesInput {
    /** The namespace of the Amazon Web Services service that provides the resource. For a resource provided by your own application or service, use custom-resource instead. */
    ServiceNamespace: 'ecs' | 'elasticmapreduce' | 'ec2' | 'appstream' | 'dynamodb' | 'rds' | 'sagemaker' | 'custom-resource' | 'comprehend' | 'lambda' | 'cassandra' | 'kafka' | 'elasticache' | 'neptune' | 'workspaces';
    /** Specifies whether to include activities that aren't scaled (not scaled activities) in the response. Not scaled activities are activities that aren't completed or started for various reasons, such as p */
    IncludeNotScaledActivities?: boolean;
    /** The maximum number of scalable targets. This value can be between 1 and 50. The default value is 50. If this parameter is used, the operation returns up to MaxResults results at a time, along with a N */
    MaxResults?: number;
    /** The token for the next set of results. */
    NextToken?: string;
    /** The identifier of the resource associated with the scaling activity. This string consists of the resource type and unique identifier. ECS service - The resource type is service and the unique identifi */
    ResourceId?: string;
    /** The scalable dimension. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID. ecs:service:Desire */
    ScalableDimension?: 'ecs:service:DesiredCount' | 'ec2:spot-fleet-request:TargetCapacity' | 'elasticmapreduce:instancegroup:InstanceCount' | 'appstream:fleet:DesiredCapacity' | 'dynamodb:table:ReadCapacityUnits' | 'dynamodb:table:WriteCapacityUnits' | 'dynamodb:index:ReadCapacityUnits' | 'dynamodb:index:WriteCapacityUnits' | 'rds:cluster:ReadReplicaCount' | 'sagemaker:variant:DesiredInstanceCount' | 'custom-resource:ResourceType:Property' | 'comprehend:document-classifier-endpoint:DesiredInferenceUnits' | 'comprehend:entity-recognizer-endpoint:DesiredInferenceUnits' | 'lambda:function:ProvisionedConcurrency' | 'cassandra:table:ReadCapacityUnits' | 'cassandra:table:WriteCapacityUnits' | 'kafka:broker-storage:VolumeSize' | 'elasticache:cache-cluster:Nodes' | 'elasticache:replication-group:NodeGroups' | 'elasticache:replication-group:Replicas' | 'neptune:cluster:ReadReplicaCount' | 'sagemaker:variant:DesiredProvisionedConcurrency' | 'sagemaker:inference-component:DesiredCopyCount' | 'workspaces:workspacespool:DesiredUserSessions';
}
export interface DescribeScalingPoliciesInput {
    /** The namespace of the Amazon Web Services service that provides the resource. For a resource provided by your own application or service, use custom-resource instead. */
    ServiceNamespace: 'ecs' | 'elasticmapreduce' | 'ec2' | 'appstream' | 'dynamodb' | 'rds' | 'sagemaker' | 'custom-resource' | 'comprehend' | 'lambda' | 'cassandra' | 'kafka' | 'elasticache' | 'neptune' | 'workspaces';
    /** The maximum number of scalable targets. This value can be between 1 and 10. The default value is 10. If this parameter is used, the operation returns up to MaxResults results at a time, along with a N */
    MaxResults?: number;
    /** The token for the next set of results. */
    NextToken?: string;
    /** The names of the scaling policies to describe. */
    PolicyNames?: string[];
    /** The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier. ECS service - The resource type is service and the unique identifier */
    ResourceId?: string;
    /** The scalable dimension. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID. ecs:service:Desire */
    ScalableDimension?: 'ecs:service:DesiredCount' | 'ec2:spot-fleet-request:TargetCapacity' | 'elasticmapreduce:instancegroup:InstanceCount' | 'appstream:fleet:DesiredCapacity' | 'dynamodb:table:ReadCapacityUnits' | 'dynamodb:table:WriteCapacityUnits' | 'dynamodb:index:ReadCapacityUnits' | 'dynamodb:index:WriteCapacityUnits' | 'rds:cluster:ReadReplicaCount' | 'sagemaker:variant:DesiredInstanceCount' | 'custom-resource:ResourceType:Property' | 'comprehend:document-classifier-endpoint:DesiredInferenceUnits' | 'comprehend:entity-recognizer-endpoint:DesiredInferenceUnits' | 'lambda:function:ProvisionedConcurrency' | 'cassandra:table:ReadCapacityUnits' | 'cassandra:table:WriteCapacityUnits' | 'kafka:broker-storage:VolumeSize' | 'elasticache:cache-cluster:Nodes' | 'elasticache:replication-group:NodeGroups' | 'elasticache:replication-group:Replicas' | 'neptune:cluster:ReadReplicaCount' | 'sagemaker:variant:DesiredProvisionedConcurrency' | 'sagemaker:inference-component:DesiredCopyCount' | 'workspaces:workspacespool:DesiredUserSessions';
}
export interface DescribeScheduledActionsInput {
    /** The namespace of the Amazon Web Services service that provides the resource. For a resource provided by your own application or service, use custom-resource instead. */
    ServiceNamespace: 'ecs' | 'elasticmapreduce' | 'ec2' | 'appstream' | 'dynamodb' | 'rds' | 'sagemaker' | 'custom-resource' | 'comprehend' | 'lambda' | 'cassandra' | 'kafka' | 'elasticache' | 'neptune' | 'workspaces';
    /** The maximum number of scheduled action results. This value can be between 1 and 50. The default value is 50. If this parameter is used, the operation returns up to MaxResults results at a time, along  */
    MaxResults?: number;
    /** The token for the next set of results. */
    NextToken?: string;
    /** The identifier of the resource associated with the scheduled action. This string consists of the resource type and unique identifier. ECS service - The resource type is service and the unique identifi */
    ResourceId?: string;
    /** The scalable dimension. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID. ecs:service:Desire */
    ScalableDimension?: 'ecs:service:DesiredCount' | 'ec2:spot-fleet-request:TargetCapacity' | 'elasticmapreduce:instancegroup:InstanceCount' | 'appstream:fleet:DesiredCapacity' | 'dynamodb:table:ReadCapacityUnits' | 'dynamodb:table:WriteCapacityUnits' | 'dynamodb:index:ReadCapacityUnits' | 'dynamodb:index:WriteCapacityUnits' | 'rds:cluster:ReadReplicaCount' | 'sagemaker:variant:DesiredInstanceCount' | 'custom-resource:ResourceType:Property' | 'comprehend:document-classifier-endpoint:DesiredInferenceUnits' | 'comprehend:entity-recognizer-endpoint:DesiredInferenceUnits' | 'lambda:function:ProvisionedConcurrency' | 'cassandra:table:ReadCapacityUnits' | 'cassandra:table:WriteCapacityUnits' | 'kafka:broker-storage:VolumeSize' | 'elasticache:cache-cluster:Nodes' | 'elasticache:replication-group:NodeGroups' | 'elasticache:replication-group:Replicas' | 'neptune:cluster:ReadReplicaCount' | 'sagemaker:variant:DesiredProvisionedConcurrency' | 'sagemaker:inference-component:DesiredCopyCount' | 'workspaces:workspacespool:DesiredUserSessions';
    /** The names of the scheduled actions to describe. */
    ScheduledActionNames?: string[];
}
export interface GetPredictiveScalingForecastInput {
    /** The exclusive end time of the time range for the forecast data to get. The maximum time duration between the start and end time is 30 days. */
    EndTime: string;
    /** The name of the policy. */
    PolicyName: string;
    /** The identifier of the resource. */
    ResourceId: string;
    /** The scalable dimension. */
    ScalableDimension: 'ecs:service:DesiredCount' | 'ec2:spot-fleet-request:TargetCapacity' | 'elasticmapreduce:instancegroup:InstanceCount' | 'appstream:fleet:DesiredCapacity' | 'dynamodb:table:ReadCapacityUnits' | 'dynamodb:table:WriteCapacityUnits' | 'dynamodb:index:ReadCapacityUnits' | 'dynamodb:index:WriteCapacityUnits' | 'rds:cluster:ReadReplicaCount' | 'sagemaker:variant:DesiredInstanceCount' | 'custom-resource:ResourceType:Property' | 'comprehend:document-classifier-endpoint:DesiredInferenceUnits' | 'comprehend:entity-recognizer-endpoint:DesiredInferenceUnits' | 'lambda:function:ProvisionedConcurrency' | 'cassandra:table:ReadCapacityUnits' | 'cassandra:table:WriteCapacityUnits' | 'kafka:broker-storage:VolumeSize' | 'elasticache:cache-cluster:Nodes' | 'elasticache:replication-group:NodeGroups' | 'elasticache:replication-group:Replicas' | 'neptune:cluster:ReadReplicaCount' | 'sagemaker:variant:DesiredProvisionedConcurrency' | 'sagemaker:inference-component:DesiredCopyCount' | 'workspaces:workspacespool:DesiredUserSessions';
    /** The namespace of the Amazon Web Services service that provides the resource. For a resource provided by your own application or service, use custom-resource instead. */
    ServiceNamespace: 'ecs' | 'elasticmapreduce' | 'ec2' | 'appstream' | 'dynamodb' | 'rds' | 'sagemaker' | 'custom-resource' | 'comprehend' | 'lambda' | 'cassandra' | 'kafka' | 'elasticache' | 'neptune' | 'workspaces';
    /** The inclusive start time of the time range for the forecast data to get. At most, the date and time can be one year before the current date and time */
    StartTime: string;
}
export interface ListTagsForResourceInput {
    /** Specify the ARN of the scalable target. For example: arn:aws:application-autoscaling:us-east-1:123456789012:scalable-target/1234abcd56ab78cd901ef1234567890ab123 To get the ARN for a scalable target, u */
    ResourceARN: string;
}
export interface PutScalingPolicyInput {
    /** The name of the scaling policy. You cannot change the name of a scaling policy, but you can delete the original scaling policy and create a new scaling policy with the same settings and a different na */
    PolicyName: string;
    /** The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier. ECS service - The resource type is service and the unique identifier */
    ResourceId: string;
    /** The scalable dimension. This string consists of the service namespace, resource type, and scaling property. ecs:service:DesiredCount - The task count of an ECS service. elasticmapreduce:instancegroup: */
    ScalableDimension: 'ecs:service:DesiredCount' | 'ec2:spot-fleet-request:TargetCapacity' | 'elasticmapreduce:instancegroup:InstanceCount' | 'appstream:fleet:DesiredCapacity' | 'dynamodb:table:ReadCapacityUnits' | 'dynamodb:table:WriteCapacityUnits' | 'dynamodb:index:ReadCapacityUnits' | 'dynamodb:index:WriteCapacityUnits' | 'rds:cluster:ReadReplicaCount' | 'sagemaker:variant:DesiredInstanceCount' | 'custom-resource:ResourceType:Property' | 'comprehend:document-classifier-endpoint:DesiredInferenceUnits' | 'comprehend:entity-recognizer-endpoint:DesiredInferenceUnits' | 'lambda:function:ProvisionedConcurrency' | 'cassandra:table:ReadCapacityUnits' | 'cassandra:table:WriteCapacityUnits' | 'kafka:broker-storage:VolumeSize' | 'elasticache:cache-cluster:Nodes' | 'elasticache:replication-group:NodeGroups' | 'elasticache:replication-group:Replicas' | 'neptune:cluster:ReadReplicaCount' | 'sagemaker:variant:DesiredProvisionedConcurrency' | 'sagemaker:inference-component:DesiredCopyCount' | 'workspaces:workspacespool:DesiredUserSessions';
    /** The namespace of the Amazon Web Services service that provides the resource. For a resource provided by your own application or service, use custom-resource instead. */
    ServiceNamespace: 'ecs' | 'elasticmapreduce' | 'ec2' | 'appstream' | 'dynamodb' | 'rds' | 'sagemaker' | 'custom-resource' | 'comprehend' | 'lambda' | 'cassandra' | 'kafka' | 'elasticache' | 'neptune' | 'workspaces';
    /** The scaling policy type. This parameter is required if you are creating a scaling policy. The following policy types are supported: TargetTrackingScaling—Not supported for Amazon EMR. StepScaling—Not  */
    PolicyType?: 'StepScaling' | 'TargetTrackingScaling' | 'PredictiveScaling';
    /** The configuration of the predictive scaling policy. */
    PredictiveScalingPolicyConfiguration?: PredictiveScalingPolicyConfiguration;
    /** A step scaling policy. This parameter is required if you are creating a policy and the policy type is StepScaling. */
    StepScalingPolicyConfiguration?: StepScalingPolicyConfiguration;
    /** A target tracking scaling policy. Includes support for predefined or customized metrics. This parameter is required if you are creating a policy and the policy type is TargetTrackingScaling. */
    TargetTrackingScalingPolicyConfiguration?: TargetTrackingScalingPolicyConfiguration;
}
export interface PutScheduledActionInput {
    /** The identifier of the resource associated with the scheduled action. This string consists of the resource type and unique identifier. ECS service - The resource type is service and the unique identifi */
    ResourceId: string;
    /** The scalable dimension. This string consists of the service namespace, resource type, and scaling property. ecs:service:DesiredCount - The task count of an ECS service. elasticmapreduce:instancegroup: */
    ScalableDimension: 'ecs:service:DesiredCount' | 'ec2:spot-fleet-request:TargetCapacity' | 'elasticmapreduce:instancegroup:InstanceCount' | 'appstream:fleet:DesiredCapacity' | 'dynamodb:table:ReadCapacityUnits' | 'dynamodb:table:WriteCapacityUnits' | 'dynamodb:index:ReadCapacityUnits' | 'dynamodb:index:WriteCapacityUnits' | 'rds:cluster:ReadReplicaCount' | 'sagemaker:variant:DesiredInstanceCount' | 'custom-resource:ResourceType:Property' | 'comprehend:document-classifier-endpoint:DesiredInferenceUnits' | 'comprehend:entity-recognizer-endpoint:DesiredInferenceUnits' | 'lambda:function:ProvisionedConcurrency' | 'cassandra:table:ReadCapacityUnits' | 'cassandra:table:WriteCapacityUnits' | 'kafka:broker-storage:VolumeSize' | 'elasticache:cache-cluster:Nodes' | 'elasticache:replication-group:NodeGroups' | 'elasticache:replication-group:Replicas' | 'neptune:cluster:ReadReplicaCount' | 'sagemaker:variant:DesiredProvisionedConcurrency' | 'sagemaker:inference-component:DesiredCopyCount' | 'workspaces:workspacespool:DesiredUserSessions';
    /** The name of the scheduled action. This name must be unique among all other scheduled actions on the specified scalable target. */
    ScheduledActionName: string;
    /** The namespace of the Amazon Web Services service that provides the resource. For a resource provided by your own application or service, use custom-resource instead. */
    ServiceNamespace: 'ecs' | 'elasticmapreduce' | 'ec2' | 'appstream' | 'dynamodb' | 'rds' | 'sagemaker' | 'custom-resource' | 'comprehend' | 'lambda' | 'cassandra' | 'kafka' | 'elasticache' | 'neptune' | 'workspaces';
    /** The date and time for the recurring schedule to end, in UTC. */
    EndTime?: string;
    /** The new minimum and maximum capacity. You can set both values or just one. At the scheduled time, if the current capacity is below the minimum capacity, Application Auto Scaling scales out to the mini */
    ScalableTargetAction?: ScalableTargetAction;
    /** The schedule for this action. The following formats are supported: At expressions - "at(yyyy-mm-ddThh:mm:ss)" Rate expressions - "rate(value unit)" Cron expressions - "cron(fields)" At expressions are */
    Schedule?: string;
    /** The date and time for this scheduled action to start, in UTC. */
    StartTime?: string;
    /** Specifies the time zone used when setting a scheduled action by using an at or cron expression. If a time zone is not provided, UTC is used by default. Valid values are the canonical names of the IANA */
    Timezone?: string;
}
export interface RegisterScalableTargetInput {
    /** The identifier of the resource that is associated with the scalable target. This string consists of the resource type and unique identifier. ECS service - The resource type is service and the unique i */
    ResourceId: string;
    /** The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property. ecs:service:DesiredCount - The task count of an ECS serv */
    ScalableDimension: 'ecs:service:DesiredCount' | 'ec2:spot-fleet-request:TargetCapacity' | 'elasticmapreduce:instancegroup:InstanceCount' | 'appstream:fleet:DesiredCapacity' | 'dynamodb:table:ReadCapacityUnits' | 'dynamodb:table:WriteCapacityUnits' | 'dynamodb:index:ReadCapacityUnits' | 'dynamodb:index:WriteCapacityUnits' | 'rds:cluster:ReadReplicaCount' | 'sagemaker:variant:DesiredInstanceCount' | 'custom-resource:ResourceType:Property' | 'comprehend:document-classifier-endpoint:DesiredInferenceUnits' | 'comprehend:entity-recognizer-endpoint:DesiredInferenceUnits' | 'lambda:function:ProvisionedConcurrency' | 'cassandra:table:ReadCapacityUnits' | 'cassandra:table:WriteCapacityUnits' | 'kafka:broker-storage:VolumeSize' | 'elasticache:cache-cluster:Nodes' | 'elasticache:replication-group:NodeGroups' | 'elasticache:replication-group:Replicas' | 'neptune:cluster:ReadReplicaCount' | 'sagemaker:variant:DesiredProvisionedConcurrency' | 'sagemaker:inference-component:DesiredCopyCount' | 'workspaces:workspacespool:DesiredUserSessions';
    /** The namespace of the Amazon Web Services service that provides the resource. For a resource provided by your own application or service, use custom-resource instead. */
    ServiceNamespace: 'ecs' | 'elasticmapreduce' | 'ec2' | 'appstream' | 'dynamodb' | 'rds' | 'sagemaker' | 'custom-resource' | 'comprehend' | 'lambda' | 'cassandra' | 'kafka' | 'elasticache' | 'neptune' | 'workspaces';
    /** The maximum value that you plan to scale out to. When a scaling policy is in effect, Application Auto Scaling can scale out (expand) as needed to the maximum capacity limit in response to changing dem */
    MaxCapacity?: number;
    /** The minimum value that you plan to scale in to. When a scaling policy is in effect, Application Auto Scaling can scale in (contract) as needed to the minimum capacity limit in response to changing dem */
    MinCapacity?: number;
    /** This parameter is required for services that do not support service-linked roles (such as Amazon EMR), and it must specify the ARN of an IAM role that allows Application Auto Scaling to modify the sca */
    RoleARN?: string;
    /** An embedded object that contains attributes and attribute values that are used to suspend and resume automatic scaling. Setting the value of an attribute to true suspends the specified scaling activit */
    SuspendedState?: SuspendedState;
    /** Assigns one or more tags to the scalable target. Use this parameter to tag the scalable target when it is created. To tag an existing scalable target, use the TagResource operation. Each tag consists  */
    Tags?: Record<string, string>;
}
export interface TagResourceInput {
    /** Identifies the Application Auto Scaling scalable target that you want to apply tags to. For example: arn:aws:application-autoscaling:us-east-1:123456789012:scalable-target/1234abcd56ab78cd901ef1234567 */
    ResourceARN: string;
    /** The tags assigned to the resource. A tag is a label that you assign to an Amazon Web Services resource. Each tag consists of a tag key and a tag value. You cannot have more than one tag on an Applicat */
    Tags: Record<string, string>;
}
export interface UntagResourceInput {
    /** Identifies the Application Auto Scaling scalable target from which to remove tags. For example: arn:aws:application-autoscaling:us-east-1:123456789012:scalable-target/1234abcd56ab78cd901ef1234567890ab */
    ResourceARN: string;
    /** One or more tag keys. Specify only the tag keys, not the tag values. */
    TagKeys: string[];
}
/** Application Auto Scaling service binding for Step Functions SDK integrations. */
export declare class ApplicationAutoScaling {
    constructor();
    deleteScalingPolicy<T>(params: DeleteScalingPolicyInput): Promise<T>;
    deleteScheduledAction<T>(params: DeleteScheduledActionInput): Promise<T>;
    deregisterScalableTarget<T>(params: DeregisterScalableTargetInput): Promise<T>;
    describeScalableTargets<T>(params: DescribeScalableTargetsInput): Promise<T>;
    describeScalingActivities<T>(params: DescribeScalingActivitiesInput): Promise<T>;
    describeScalingPolicies<T>(params: DescribeScalingPoliciesInput): Promise<T>;
    describeScheduledActions<T>(params: DescribeScheduledActionsInput): Promise<T>;
    getPredictiveScalingForecast<T>(params: GetPredictiveScalingForecastInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    putScalingPolicy<T>(params: PutScalingPolicyInput): Promise<T>;
    putScheduledAction<T>(params: PutScheduledActionInput): Promise<T>;
    registerScalableTarget<T>(params: RegisterScalableTargetInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
}
//# sourceMappingURL=ApplicationAutoScaling.d.ts.map