import { ApplicationSourceProps } from './scalingplan/ApplicationSourceProps';
import { ScalingInstructionProps } from './scalingplan/ScalingInstructionProps';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type ScalingPlanAttributes = {
    ScalingPlanName: Attribute<string>;
    ScalingPlanVersion: Attribute<string>;
};
export type ScalingPlan = AwsResource<'AWS::AutoScalingPlans::ScalingPlan', ScalingPlanProperties, ScalingPlanAttributes>;
/**
  The <code>AWS::AutoScalingPlans::ScalingPlan</code> resource defines an AWS Auto Scaling scaling plan. A scaling plan is used to scale application resources to size them appropriately to ensure that enough resource is available in the application at peak times and to reduce allocated resource during periods of low utilization. The following resources can be added to a scaling plan:
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscalingplans-scalingplan.html">the AWS Docs</a>
*/
export declare function scalingPlan(scalingPlanProps: ScalingPlanProperties): ScalingPlan;
/**
  The <code>AWS::AutoScalingPlans::ScalingPlan</code> resource defines an AWS Auto Scaling scaling plan. A scaling plan is used to scale application resources to size them appropriately to ensure that enough resource is available in the application at peak times and to reduce allocated resource during periods of low utilization. The following resources can be added to a scaling plan:
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscalingplans-scalingplan.html">the AWS Docs</a>
*/
export interface ScalingPlanProperties {
    /** <code>ApplicationSource</code>  <a name="cfn-autoscalingplans-scalingplan-applicationsource"></a>
  A CloudFormation stack or a set of tags. You can create one scaling plan per application source. The <code>ApplicationSource</code> property must be present to ensure interoperability with the AWS Auto Scaling console.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    applicationSource: ApplicationSourceProps;
    /** <code>ScalingInstructions</code>  <a name="cfn-autoscalingplans-scalingplan-scalinginstructions"></a>
  The scaling instructions.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    scalingInstructions: ScalingInstructionProps[];
}
