import { OptionsProps } from './transitgatewayvpcattachment/OptionsProps';
import { Value } from '../../cloudformation/Value';
import { Tag } from '../Tag';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type TransitGatewayVpcAttachmentAttributes = {
    Id: Attribute<string>;
};
export type TransitGatewayVpcAttachment = AwsResource<'AWS::EC2::TransitGatewayVpcAttachment', TransitGatewayVpcAttachmentProperties, TransitGatewayVpcAttachmentAttributes>;
/**
  Specifies a VPC attachment.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayvpcattachment.html">the AWS Docs</a>
*/
export declare function transitGatewayVpcAttachment(transitGatewayVpcAttachmentProps: TransitGatewayVpcAttachmentProperties): TransitGatewayVpcAttachment;
/**
  Specifies a VPC attachment.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayvpcattachment.html">the AWS Docs</a>
*/
export interface TransitGatewayVpcAttachmentProperties {
    /** <code>Options</code>  <a name="cfn-ec2-transitgatewayvpcattachment-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-transitgatewayvpcattachment-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-transitgatewayvpcattachment-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>RemoveSubnetIds</code>  <a name="cfn-ec2-transitgatewayvpcattachment-removesubnetids"></a>
  The IDs of one or more subnets to remove.<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> */
    removeSubnetIds?: Value<Value<string>[]>;
    /** <code>SubnetIds</code>  <a name="cfn-ec2-transitgatewayvpcattachment-subnetids"></a>
  The IDs of the subnets.<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> */
    subnetIds: Value<Value<string>[]>;
    /** <code>AddSubnetIds</code>  <a name="cfn-ec2-transitgatewayvpcattachment-addsubnetids"></a>
  The IDs of one or more subnets to add. You can specify at most one subnet per Availability Zone.<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> */
    addSubnetIds?: Value<Value<string>[]>;
    /** <code>Tags</code>  <a name="cfn-ec2-transitgatewayvpcattachment-tags"></a>
  The tags for the VPC 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[];
}
