import { Value } from '../../cloudformation/Value';
import { LockConfigurationTypeProps } from './backupvault/LockConfigurationTypeProps';
import { NotificationObjectTypeProps } from './backupvault/NotificationObjectTypeProps';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type BackupVaultAttributes = {
    BackupVaultName: Attribute<string>;
    BackupVaultArn: Attribute<string>;
};
export type BackupVault = AwsResource<'AWS::Backup::BackupVault', BackupVaultProperties, BackupVaultAttributes>;
/**
  Creates a logical container where backups are stored. A <code>CreateBackupVault</code> request includes a name, optionally one or more resource tags, an encryption key, and a request ID.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupvault.html">the AWS Docs</a>
*/
export declare function backupVault(backupVaultProps: BackupVaultProperties): BackupVault;
/**
  Creates a logical container where backups are stored. A <code>CreateBackupVault</code> request includes a name, optionally one or more resource tags, an encryption key, and a request ID.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupvault.html">the AWS Docs</a>
*/
export interface BackupVaultProperties {
    /** <code>BackupVaultTags</code>  <a name="cfn-backup-backupvault-backupvaulttags"></a>
  Metadata that you can assign to help organize the resources that you create. Each tag is a key-value pair.<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> */
    backupVaultTags?: Value<{
        [key: string]: Value<string>;
    }>;
    /** <code>BackupVaultName</code>  <a name="cfn-backup-backupvault-backupvaultname"></a>
  The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.<br />
  
  Required: Yes<br />
  
  Pattern: <code>^[a-zA-Z0-9\-\_]{2,50}$</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> */
    backupVaultName: Value<string>;
    /** <code>EncryptionKeyArn</code>  <a name="cfn-backup-backupvault-encryptionkeyarn"></a>
  A server-side encryption key you can specify to encrypt your backups from services that support full AWS Backup management; for example, <code>arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab</code>. If you specify a key, you must specify its ARN, not its alias. If you do not specify a key, AWS Backup creates a KMS key for you by default.<br />
  To learn which AWS Backup services support full AWS Backup management and how AWS Backup handles encryption for backups from services that do not yet support full AWS Backup, see <a href="https://docs.aws.amazon.com/aws-backup/latest/devguide/encryption.html"> Encryption for backups in AWS Backup</a><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> */
    encryptionKeyArn?: Value<string>;
    /** <code>LockConfiguration</code>  <a name="cfn-backup-backupvault-lockconfiguration"></a>
  Configuration for <a href="https://docs.aws.amazon.com/aws-backup/latest/devguide/vault-lock.html">AWS Backup Vault Lock</a>.<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> */
    lockConfiguration?: LockConfigurationTypeProps;
    /** <code>Notifications</code>  <a name="cfn-backup-backupvault-notifications"></a>
  The SNS event notifications for the specified backup vault.<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> */
    notifications?: NotificationObjectTypeProps;
    /** <code>AccessPolicy</code>  <a name="cfn-backup-backupvault-accesspolicy"></a>
  A resource-based policy that is used to manage access permissions on the target backup vault.<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> */
    accessPolicy?: Value<any>;
}
