import { Value } from '../../cloudformation/Value';
import { Tag } from '../Tag';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type VirtualMFADeviceAttributes = {
    SerialNumber: Attribute<string>;
};
export type VirtualMFADevice = AwsResource<'AWS::IAM::VirtualMFADevice', VirtualMFADeviceProperties, VirtualMFADeviceAttributes>;
/**
  Creates a new virtual MFA device for the AWS account. After creating the virtual MFA, use <a href="https://docs.aws.amazon.com/IAM/latest/APIReference/API_EnableMFADevice.html">EnableMFADevice</a> to attach the MFA device to an IAM user. For more information about creating and working with virtual MFA devices, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_VirtualMFA.html">Using a virtual MFA device</a> in the <em>IAM User Guide</em>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-virtualmfadevice.html">the AWS Docs</a>
*/
export declare function virtualMFADevice(virtualMFADeviceProps: VirtualMFADeviceProperties): VirtualMFADevice;
/**
  Creates a new virtual MFA device for the AWS account. After creating the virtual MFA, use <a href="https://docs.aws.amazon.com/IAM/latest/APIReference/API_EnableMFADevice.html">EnableMFADevice</a> to attach the MFA device to an IAM user. For more information about creating and working with virtual MFA devices, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_VirtualMFA.html">Using a virtual MFA device</a> in the <em>IAM User Guide</em>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-virtualmfadevice.html">the AWS Docs</a>
*/
export interface VirtualMFADeviceProperties {
    /** <code>Path</code>  <a name="cfn-iam-virtualmfadevice-path"></a>
  The path for the virtual MFA device. For more information about paths, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html">IAM identifiers</a> in the
  IAM User Guide: br />
  This parameter is optional. If it is not included, it defaults to a slash (/).<br />
  This parameter allows (through its <a href="http://wikipedia.org/wiki/regex">regex pattern</a>) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (<code>\u0021</code>) through the DEL character (<code>\u007F</code>), including most punctuation characters, digits, and upper and lowercased letters.<br />
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>512</code><br />
  
  Pattern: <code>(\u002F)|(\u002F[\u0021-\u007E]+\u002F)</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> */
    path?: Value<string>;
    /** <code>VirtualMfaDeviceName</code>  <a name="cfn-iam-virtualmfadevice-virtualmfadevicename"></a>
  The name of the virtual MFA device, which must be unique. Use with path to uniquely identify a virtual MFA device.<br />
  This parameter allows (through its <a href="http://wikipedia.org/wiki/regex">regex pattern</a>) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-<br />
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Pattern: <code>[\w+=,.@-]+</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> */
    virtualMfaDeviceName?: Value<string>;
    /** <code>Users</code>  <a name="cfn-iam-virtualmfadevice-users"></a>
  The IAM user associated with this virtual MFA device.<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> */
    users: Value<Value<string>[]>;
    /** <code>Tags</code>  <a name="cfn-iam-virtualmfadevice-tags"></a>
  A list of tags that you want to attach to the new IAM virtual MFA device. Each tag consists of a key name and an associated value. For more information about tagging, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html">Tagging IAM resources</a> in the
  IAM User Guide: br />
  If any one of the tags is invalid or if you exceed the allowed maximum number of tags, then the entire request fails and the resource is not created.
  
  Required: No<br />
  
  Maximum: <code>50</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> */
    tags?: Tag[];
}
