import { Value } from '../../cloudformation/Value';
import { PolicyDetailsProps } from './lifecyclepolicy/PolicyDetailsProps';
import { Tag } from '../Tag';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type LifecyclePolicyAttributes = {
    Arn: Attribute<string>;
};
export type LifecyclePolicy = AwsResource<'AWS::DLM::LifecyclePolicy', LifecyclePolicyProperties, LifecyclePolicyAttributes>;
/**
  Specifies a lifecycle policy, which is used to automate operations on Amazon EBS resources.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html">the AWS Docs</a>
*/
export declare function lifecyclePolicy(lifecyclePolicyProps?: LifecyclePolicyProperties): LifecyclePolicy;
/**
  Specifies a lifecycle policy, which is used to automate operations on Amazon EBS resources.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html">the AWS Docs</a>
*/
export interface LifecyclePolicyProperties {
    /** <code>ExecutionRoleArn</code>  <a name="cfn-dlm-lifecyclepolicy-executionrolearn"></a>
  The Amazon Resource Name (ARN) of the IAM role used to run the operations specified by the lifecycle policy.<br />
  
  Required: Conditional<br />
  
  Minimum: <code>0</code><br />
  
  Maximum: <code>2048</code><br />
  
  Pattern: <code>arn:aws(-[a-z]{1,3}){0,2}:iam::\d+:role/.*</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> */
    executionRoleArn?: Value<string>;
    /** <code>Description</code>  <a name="cfn-dlm-lifecyclepolicy-description"></a>
  A description of the lifecycle policy. The characters ^[0-9A-Za-z _-]+$ are supported.<br />
  
  Required: Conditional<br />
  
  Minimum: <code>0</code><br />
  
  Maximum: <code>500</code><br />
  
  Pattern: <code>[0-9A-Za-z _-]+</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>State</code>  <a name="cfn-dlm-lifecyclepolicy-state"></a>
  The activation state of the lifecycle policy.<br />
  
  Required: Conditional<br />
  
  Allowed values: <code>DISABLED | ENABLED | ERROR</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' | 'ERROR'>;
    /** <code>PolicyDetails</code>  <a name="cfn-dlm-lifecyclepolicy-policydetails"></a>
  The configuration details of the lifecycle policy.<br />
  
  Required: Conditional<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> */
    policyDetails?: PolicyDetailsProps;
    /** <code>Tags</code>  <a name="cfn-dlm-lifecyclepolicy-tags"></a>
  The tags to apply to the lifecycle policy during creation.<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> */
    tags?: Tag[];
}
