import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Resource Type definition for AWS::EC2::TransitGateway
 */
export declare function getTransitGateway(args: GetTransitGatewayArgs, opts?: pulumi.InvokeOptions): Promise<GetTransitGatewayResult>;
export interface GetTransitGatewayArgs {
    /**
     * The ID of the transit gateway.
     */
    id: string;
}
export interface GetTransitGatewayResult {
    /**
     * The ID of the default association route table.
     */
    readonly associationDefaultRouteTableId?: string;
    /**
     * Enable or disable automatic acceptance of attachment requests. Disabled by default.
     */
    readonly autoAcceptSharedAttachments?: string;
    /**
     * Enable or disable automatic association with the default association route table. Enabled by default. If `DefaultRouteTableAssociation` is set to enable, AWS Transit Gateway will create the default transit gateway route table.
     */
    readonly defaultRouteTableAssociation?: string;
    /**
     * Enable or disable automatic propagation of routes to the default propagation route table. Enabled by default. If `DefaultRouteTablePropagation` is set to enable, AWS Transit Gateway will create the default transit gateway route table.
     */
    readonly defaultRouteTablePropagation?: string;
    /**
     * The description of the transit gateway.
     */
    readonly description?: string;
    /**
     * Enable or disable DNS support. Enabled by default.
     */
    readonly dnsSupport?: string;
    /**
     * The ID of the transit gateway.
     */
    readonly id?: string;
    /**
     * The ID of the default propagation route table.
     */
    readonly propagationDefaultRouteTableId?: string;
    /**
     * Enables you to reference a security group across VPCs attached to a transit gateway (TGW). Use this option to simplify security group management and control of instance-to-instance traffic across VPCs that are connected by transit gateway. You can also use this option to migrate from VPC peering (which was the only option that supported security group referencing) to transit gateways (which now also support security group referencing). This option is disabled by default and there are no additional costs to use this feature.
     *
     * For important information about this feature, see [Create a transit gateway](https://docs.aws.amazon.com/vpc/latest/tgw/tgw-transit-gateways.html#create-tgw) in the *AWS Transit Gateway Guide* .
     */
    readonly securityGroupReferencingSupport?: string;
    /**
     * The tags for the transit gateway.
     */
    readonly tags?: outputs.Tag[];
    readonly transitGatewayArn?: string;
    /**
     * The transit gateway CIDR blocks.
     */
    readonly transitGatewayCidrBlocks?: string[];
    /**
     * Enable or disable Equal Cost Multipath Protocol support. Enabled by default.
     */
    readonly vpnEcmpSupport?: string;
}
/**
 * Resource Type definition for AWS::EC2::TransitGateway
 */
export declare function getTransitGatewayOutput(args: GetTransitGatewayOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetTransitGatewayResult>;
export interface GetTransitGatewayOutputArgs {
    /**
     * The ID of the transit gateway.
     */
    id: pulumi.Input<string>;
}
