import { OptionsProps } from './transitgatewayattachment/OptionsProps';
import { Value } from '../../cloudformation/Value';
import { Tag } from '../Tag';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type TransitGatewayAttachmentAttributes = {
    Id: Attribute<string>;
};
export type TransitGatewayAttachment = AwsResource<'AWS::EC2::TransitGatewayAttachment', TransitGatewayAttachmentProperties, TransitGatewayAttachmentAttributes>;
/**
  Attaches a VPC to a transit gateway.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayattachment.html">the AWS Docs</a>
*/
export declare function transitGatewayAttachment(transitGatewayAttachmentProps: TransitGatewayAttachmentProperties): TransitGatewayAttachment;
/**
  Attaches a VPC to a transit gateway.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayattachment.html">the AWS Docs</a>
*/
export interface TransitGatewayAttachmentProperties {
    /** <code>Options</code>  <a name="cfn-ec2-transitgatewayattachment-options"></a>
  The VPC attachment options.<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> */
    options?: OptionsProps;
    /** <code>TransitGatewayId</code>  <a name="cfn-ec2-transitgatewayattachment-transitgatewayid"></a>
  The ID of the transit gateway.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    transitGatewayId: Value<string>;
    /** <code>VpcId</code>  <a name="cfn-ec2-transitgatewayattachment-vpcid"></a>
  The ID of the VPC.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    vpcId: Value<string>;
    /** <code>SubnetIds</code>  <a name="cfn-ec2-transitgatewayattachment-subnetids"></a>
  The IDs of one or more subnets. You can specify only one subnet per Availability Zone. You must specify at least one subnet, but we recommend that you specify two subnets for better availability. The transit gateway uses one IP address from each specified subnet.<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> */
    subnetIds: Value<Value<string>[]>;
    /** <code>Tags</code>  <a name="cfn-ec2-transitgatewayattachment-tags"></a>
  The tags for the attachment.<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[];
}
