import { FrameworkControlProps } from './framework/FrameworkControlProps';
import { Value } from '../../cloudformation/Value';
import { Tag } from '../Tag';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type FrameworkAttributes = {
    CreationTime: Attribute<string>;
    FrameworkStatus: Attribute<string>;
    DeploymentStatus: Attribute<string>;
    FrameworkArn: Attribute<string>;
};
export type Framework = AwsResource<'AWS::Backup::Framework', FrameworkProperties, FrameworkAttributes>;
/**
  Creates a framework with one or more controls. A framework is a collection of controls that you can use to evaluate your backup practices. By using pre-built customizable controls to define your policies, you can evaluate whether your backup practices comply with your policies and which resources are not yet in compliance.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-framework.html">the AWS Docs</a>
*/
export declare function framework(frameworkProps: FrameworkProperties): Framework;
/**
  Creates a framework with one or more controls. A framework is a collection of controls that you can use to evaluate your backup practices. By using pre-built customizable controls to define your policies, you can evaluate whether your backup practices comply with your policies and which resources are not yet in compliance.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-framework.html">the AWS Docs</a>
*/
export interface FrameworkProperties {
    /** <code>FrameworkControls</code>  <a name="cfn-backup-framework-frameworkcontrols"></a>
  Contains detailed information about all of the controls of a framework. Each framework must contain at least one control.<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> */
    frameworkControls: FrameworkControlProps[];
    /** <code>FrameworkName</code>  <a name="cfn-backup-framework-frameworkname"></a>
  The unique name of a framework. This name is between 1 and 256 characters, starting with a letter, and consisting of letters (a-z, A-Z), numbers (0-9), and underscores (_).<br />
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>256</code><br />
  
  Pattern: <code>[a-zA-Z][_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> */
    frameworkName?: Value<string>;
    /** <code>FrameworkTags</code>  <a name="cfn-backup-framework-frameworktags"></a>
  A list of tags with which to tag your framework.<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> */
    frameworkTags?: Tag[];
    /** <code>FrameworkDescription</code>  <a name="cfn-backup-framework-frameworkdescription"></a>
  An optional description of the framework with a maximum 1,024 characters.<br />
  
  Required: No<br />
  
  Minimum: <code>0</code><br />
  
  Maximum: <code>1024</code><br />
  
  Pattern: <code>.*\S.*</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> */
    frameworkDescription?: Value<string>;
}
