import { Value } from '../../cloudformation/Value';
import { TargetProps } from './rule/TargetProps';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type RuleAttributes = {
    Arn: Attribute<string>;
};
export type Rule = AwsResource<'AWS::Events::Rule', RuleProperties, RuleAttributes>;
/**
  Creates or updates the specified rule. Rules are enabled by default, or based on value of the state. You can disable a rule using <a href="https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_DisableRule.html">DisableRule</a>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html">the AWS Docs</a>
*/
export declare function rule(ruleProps?: RuleProperties): Rule;
/**
  Creates or updates the specified rule. Rules are enabled by default, or based on value of the state. You can disable a rule using <a href="https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_DisableRule.html">DisableRule</a>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html">the AWS Docs</a>
*/
export interface RuleProperties {
    /** <code>Description</code>  <a name="cfn-events-rule-description"></a>
  The description of the rule.<br />
  
  Required: No<br />
  
  Maximum: <code>512</code><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> */
    description?: Value<string>;
    /** <code>EventBusName</code>  <a name="cfn-events-rule-eventbusname"></a>
  The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is used.<br />
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>256</code><br />
  
  Pattern: <code>[/\.\-_A-Za-z0-9]+</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    eventBusName?: Value<string>;
    /** <code>EventPattern</code>  <a name="cfn-events-rule-eventpattern"></a>
  The event pattern of the rule. For more information, see <a href="https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html">Events and Event Patterns</a> in the
  Amazon EventBridge User Guide: br />
  
  Required: Conditional<br />
  
  Maximum: <code>4096</code><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> */
    eventPattern?: Value<any>;
    /** <code>Name</code>  <a name="cfn-events-rule-name"></a>
  The name of the rule.<br />
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>64</code><br />
  
  Pattern: <code>[\.\-_A-Za-z0-9]+</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    name?: Value<string>;
    /** <code>RoleArn</code>  <a name="cfn-events-rule-rolearn"></a>
  The Amazon Resource Name (ARN) of the role that is used for target invocation.<br />
  If you’re setting an event bus in another account as the target and that account granted permission to your account through an organization instead of directly by the account ID, you must specify a <code>RoleArn</code> with proper permissions in the <code>Target</code> structure, instead of here in this parameter.<br />
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>1600</code><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> */
    roleArn?: Value<string>;
    /** <code>ScheduleExpression</code>  <a name="cfn-events-rule-scheduleexpression"></a>
  The scheduling expression. For example, “cron(0 20 * * ? *)”, “rate(5 minutes)”. For more information, see <a href="https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule-schedule.html">Creating an Amazon EventBridge rule that runs on a schedule</a>.<br />
  
  Required: Conditional<br />
  
  Maximum: <code>256</code><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> */
    scheduleExpression?: Value<string>;
    /** <code>State</code>  <a name="cfn-events-rule-state"></a>
  The state of the rule.<br />
  
  Required: No<br />
  
  Allowed values: <code>DISABLED | ENABLED</code><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> */
    state?: Value<'DISABLED' | 'ENABLED'>;
    /** <code>Targets</code>  <a name="cfn-events-rule-targets"></a>
  Adds the specified targets to the specified rule, or updates the targets if they are already associated with the rule.<br />
  Targets are the resources that are invoked when a rule is triggered.<br />
  The maximum number of entries per request is 10.<br />
  Each rule can have up to five (5) targets associated with it at one time.
  For a list of services you can configure as targets for events, see <a href="https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-targets.html">EventBridge targets</a> in the
  Amazon EventBridge User Guide: br />
  Creating rules with built-in targets is supported only in the AWS Management Console. The built-in targets are: */
    targets?: TargetProps[];
}
