import { Value } from '../../cloudformation/Value';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type CompositeAlarmAttributes = {
    Arn: Attribute<string>;
};
export type CompositeAlarm = AwsResource<'AWS::CloudWatch::CompositeAlarm', CompositeAlarmProperties, CompositeAlarmAttributes>;
/**
  The <code>AWS::CloudWatch::CompositeAlarm</code> type creates or updates a composite alarm. When you create a composite alarm, you specify a rule expression for the alarm that takes into account the alarm states of other alarms that you have created. The composite alarm goes into ALARM state only if all conditions of the rule are met.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-compositealarm.html">the AWS Docs</a>
*/
export declare function compositeAlarm(compositeAlarmProps: CompositeAlarmProperties): CompositeAlarm;
/**
  The <code>AWS::CloudWatch::CompositeAlarm</code> type creates or updates a composite alarm. When you create a composite alarm, you specify a rule expression for the alarm that takes into account the alarm states of other alarms that you have created. The composite alarm goes into ALARM state only if all conditions of the rule are met.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-compositealarm.html">the AWS Docs</a>
*/
export interface CompositeAlarmProperties {
    /** <code>AlarmActions</code>  <a name="cfn-cloudwatch-compositealarm-alarmactions"></a>
  The actions to execute when this alarm transitions to the ALARM state from any other state. Each action is specified as an Amazon Resource Name (ARN). For more information about creating alarms and the actions that you can specify, see <a href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutCompositeAlarm.html">PutCompositeAlarm</a> in the
  Amazon CloudWatch API Reference: br />
  
  Required: No<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> */
    alarmActions?: Value<Value<string>[]>;
    /** <code>ActionsSuppressorWaitPeriod</code>  <a name="cfn-cloudwatch-compositealarm-actionssuppressorwaitperiod"></a>
  The maximum time in seconds that the composite alarm waits for the suppressor alarm to go into the <code>ALARM</code> state. After this time, the composite alarm performs its actions.<br />
  <code>WaitPeriod</code> is required only when <code>ActionsSuppressor</code> is specified.
  
  Required: No<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> */
    actionsSuppressorWaitPeriod?: Value<number>;
    /** <code>ActionsEnabled</code>  <a name="cfn-cloudwatch-compositealarm-actionsenabled"></a>
  Indicates whether actions should be executed during any changes to the alarm state of the composite alarm. The default is TRUE.<br />
  
  Required: No<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> */
    actionsEnabled?: Value<boolean>;
    /** <code>AlarmName</code>  <a name="cfn-cloudwatch-compositealarm-alarmname"></a>
  The name for the composite alarm. This name must be unique within your AWS account.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    alarmName?: Value<string>;
    /** <code>AlarmDescription</code>  <a name="cfn-cloudwatch-compositealarm-alarmdescription"></a>
  The description for the composite alarm.<br />
  
  Required: No<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> */
    alarmDescription?: Value<string>;
    /** <code>ActionsSuppressor</code>  <a name="cfn-cloudwatch-compositealarm-actionssuppressor"></a>
  Actions will be suppressed if the suppressor alarm is in the <code>ALARM</code> state. <code>ActionsSuppressor</code> can be an AlarmName or an Amazon Resource Name (ARN) from an existing alarm.<br />
  
  Required: No<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> */
    actionsSuppressor?: Value<string>;
    /** <p> */
    alarmRule: Value<string>;
    /** <code>InsufficientDataActions</code>  <a name="cfn-cloudwatch-compositealarm-insufficientdataactions"></a>
  The actions to execute when this alarm transitions to the INSUFFICIENT_DATA state from any other state. Each action is specified as an Amazon Resource Name (ARN). For more information about creating alarms and the actions that you can specify, see <a href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutCompositeAlarm.html">PutCompositeAlarm</a> in the
  Amazon CloudWatch API Reference: br />
  
  Required: No<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> */
    insufficientDataActions?: Value<Value<string>[]>;
    /** <code>OKActions</code>  <a name="cfn-cloudwatch-compositealarm-okactions"></a>
  The actions to execute when this alarm transitions to the OK state from any other state. Each action is specified as an Amazon Resource Name (ARN). For more information about creating alarms and the actions that you can specify, see <a href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutCompositeAlarm.html">PutCompositeAlarm</a> in the
  Amazon CloudWatch API Reference: br />
  
  Required: No<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> */
    oKActions?: Value<Value<string>[]>;
    /** <code>ActionsSuppressorExtensionPeriod</code>  <a name="cfn-cloudwatch-compositealarm-actionssuppressorextensionperiod"></a>
  The maximum time in seconds that the composite alarm waits after suppressor alarm goes out of the <code>ALARM</code> state. After this time, the composite alarm performs its actions.<br />
  <code>ExtensionPeriod</code> is required only when <code>ActionsSuppressor</code> is specified.
  
  Required: No<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> */
    actionsSuppressorExtensionPeriod?: Value<number>;
}
