import * as cdk from "../../core/lib";
import * as constructs from "constructs";
import * as cfn_parse from "../../core/lib/helpers-internal";
import { aws_directconnect as directConnectRefs, aws_ec2 as ec2Refs } from "../../interfaces";
import { ConnectionReference, DirectConnectGatewayAssociationReference, DirectConnectGatewayReference, IConnectionRef, IDirectConnectGatewayAssociationRef, IDirectConnectGatewayRef, ILagRef, IPrivateVirtualInterfaceRef, IPublicVirtualInterfaceRef, ITransitVirtualInterfaceRef, LagReference, PrivateVirtualInterfaceReference, PublicVirtualInterfaceReference, TransitVirtualInterfaceReference } from "../../interfaces/generated/aws-directconnect-interfaces.generated";
/**
 * Resource Type definition for AWS::DirectConnect::Connection.
 *
 * @cloudformationResource AWS::DirectConnect::Connection
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-connection.html
 */
export declare class CfnConnection extends cdk.CfnResource implements cdk.IInspectable, IConnectionRef, cdk.ITaggableV2 {
    /**
     * The CloudFormation resource type name for this resource class.
     */
    static readonly CFN_RESOURCE_TYPE_NAME: string;
    /**
     * Build a CfnConnection from CloudFormation properties
     *
     * A factory method that creates a new instance of this class from an object
     * containing the CloudFormation properties of this resource.
     * Used in the @aws-cdk/cloudformation-include module.
     *
     * @internal
     */
    static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnConnection;
    /**
     * Checks whether the given object is a CfnConnection
     */
    static isCfnConnection(x: any): x is CfnConnection;
    static arnForConnection(resource: IConnectionRef): string;
    /**
     * The bandwidth of the connection.
     */
    private _bandwidth;
    /**
     * Tag Manager which manages the tags for this resource
     */
    readonly cdkTagManager: cdk.TagManager;
    /**
     * The name of the connection.
     */
    private _connectionName;
    private _lagId?;
    /**
     * The location of the connection.
     */
    private _location;
    /**
     * The name of the service provider associated with the requested connection.
     */
    private _providerName?;
    /**
     * Indicates whether you want the connection to support MAC Security (MACsec).
     */
    private _requestMacSec?;
    /**
     * The tags associated with the connection.
     */
    private _tags?;
    /**
     * Create a new `AWS::DirectConnect::Connection`.
     *
     * @param scope Scope in which this resource is defined
     * @param id Construct identifier for this resource (unique in its scope)
     * @param props Resource properties
     */
    constructor(scope: constructs.Construct, id: string, props: CfnConnectionProps);
    get connectionRef(): ConnectionReference;
    /**
     * The bandwidth of the connection.
     */
    get bandwidth(): string;
    /**
     * The bandwidth of the connection.
     */
    set bandwidth(value: string);
    /**
     * The name of the connection.
     */
    get connectionName(): string;
    /**
     * The name of the connection.
     */
    set connectionName(value: string);
    get lagId(): string | undefined;
    set lagId(value: string | undefined);
    /**
     * The location of the connection.
     */
    get location(): string;
    /**
     * The location of the connection.
     */
    set location(value: string);
    /**
     * The name of the service provider associated with the requested connection.
     */
    get providerName(): string | undefined;
    /**
     * The name of the service provider associated with the requested connection.
     */
    set providerName(value: string | undefined);
    /**
     * Indicates whether you want the connection to support MAC Security (MACsec).
     */
    get requestMacSec(): boolean | cdk.IResolvable | undefined;
    /**
     * Indicates whether you want the connection to support MAC Security (MACsec).
     */
    set requestMacSec(value: boolean | cdk.IResolvable | undefined);
    /**
     * The tags associated with the connection.
     */
    get tags(): Array<cdk.CfnTag> | undefined;
    /**
     * The tags associated with the connection.
     */
    set tags(value: Array<cdk.CfnTag> | undefined);
    /**
     * The ARN of the connection.
     *
     * @cloudformationAttribute ConnectionArn
     */
    get attrConnectionArn(): string;
    /**
     * The ID of the connection.
     *
     * @cloudformationAttribute ConnectionId
     */
    get attrConnectionId(): string;
    /**
     * The state of the connection.
     *
     * @cloudformationAttribute ConnectionState
     */
    get attrConnectionState(): string;
    protected get cfnProperties(): Record<string, any>;
    /**
     * Examines the CloudFormation resource and discloses attributes
     *
     * @param inspector tree inspector to collect and process attributes
     */
    inspect(inspector: cdk.TreeInspector): void;
    protected renderProperties(props: Record<string, any>): Record<string, any>;
}
/**
 * Properties for defining a `CfnConnection`
 *
 * @struct
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-connection.html
 */
export interface CfnConnectionProps {
    /**
     * The bandwidth of the connection.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-connection.html#cfn-directconnect-connection-bandwidth
     */
    readonly bandwidth: string;
    /**
     * The name of the connection.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-connection.html#cfn-directconnect-connection-connectionname
     */
    readonly connectionName: string;
    /**
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-connection.html#cfn-directconnect-connection-lagid
     */
    readonly lagId?: directConnectRefs.ILagRef | string;
    /**
     * The location of the connection.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-connection.html#cfn-directconnect-connection-location
     */
    readonly location: string;
    /**
     * The name of the service provider associated with the requested connection.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-connection.html#cfn-directconnect-connection-providername
     */
    readonly providerName?: string;
    /**
     * Indicates whether you want the connection to support MAC Security (MACsec).
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-connection.html#cfn-directconnect-connection-requestmacsec
     */
    readonly requestMacSec?: boolean | cdk.IResolvable;
    /**
     * The tags associated with the connection.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-connection.html#cfn-directconnect-connection-tags
     */
    readonly tags?: Array<cdk.CfnTag>;
}
/**
 * Resource Type definition for AWS::DirectConnect::DirectConnectGateway.
 *
 * @cloudformationResource AWS::DirectConnect::DirectConnectGateway
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-directconnectgateway.html
 */
export declare class CfnDirectConnectGateway extends cdk.CfnResource implements cdk.IInspectable, IDirectConnectGatewayRef, cdk.ITaggableV2 {
    /**
     * The CloudFormation resource type name for this resource class.
     */
    static readonly CFN_RESOURCE_TYPE_NAME: string;
    /**
     * Build a CfnDirectConnectGateway from CloudFormation properties
     *
     * A factory method that creates a new instance of this class from an object
     * containing the CloudFormation properties of this resource.
     * Used in the @aws-cdk/cloudformation-include module.
     *
     * @internal
     */
    static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnDirectConnectGateway;
    /**
     * Checks whether the given object is a CfnDirectConnectGateway
     */
    static isCfnDirectConnectGateway(x: any): x is CfnDirectConnectGateway;
    static arnForDirectConnectGateway(resource: IDirectConnectGatewayRef): string;
    /**
     * The autonomous system number (ASN) for the Amazon side of the connection.
     */
    private _amazonSideAsn?;
    /**
     * Tag Manager which manages the tags for this resource
     */
    readonly cdkTagManager: cdk.TagManager;
    /**
     * The name of the Direct Connect gateway.
     */
    private _directConnectGatewayName;
    /**
     * The tags associated with the Direct Connect gateway.
     */
    private _tags?;
    /**
     * Create a new `AWS::DirectConnect::DirectConnectGateway`.
     *
     * @param scope Scope in which this resource is defined
     * @param id Construct identifier for this resource (unique in its scope)
     * @param props Resource properties
     */
    constructor(scope: constructs.Construct, id: string, props: CfnDirectConnectGatewayProps);
    get directConnectGatewayRef(): DirectConnectGatewayReference;
    /**
     * The autonomous system number (ASN) for the Amazon side of the connection.
     */
    get amazonSideAsn(): string | undefined;
    /**
     * The autonomous system number (ASN) for the Amazon side of the connection.
     */
    set amazonSideAsn(value: string | undefined);
    /**
     * The name of the Direct Connect gateway.
     */
    get directConnectGatewayName(): string;
    /**
     * The name of the Direct Connect gateway.
     */
    set directConnectGatewayName(value: string);
    /**
     * The tags associated with the Direct Connect gateway.
     */
    get tags(): Array<cdk.CfnTag> | undefined;
    /**
     * The tags associated with the Direct Connect gateway.
     */
    set tags(value: Array<cdk.CfnTag> | undefined);
    /**
     * The ARN of the Direct Connect gateway.
     *
     * @cloudformationAttribute DirectConnectGatewayArn
     */
    get attrDirectConnectGatewayArn(): string;
    /**
     * The ID of the Direct Connect gateway.
     *
     * @cloudformationAttribute DirectConnectGatewayId
     */
    get attrDirectConnectGatewayId(): string;
    protected get cfnProperties(): Record<string, any>;
    /**
     * Examines the CloudFormation resource and discloses attributes
     *
     * @param inspector tree inspector to collect and process attributes
     */
    inspect(inspector: cdk.TreeInspector): void;
    protected renderProperties(props: Record<string, any>): Record<string, any>;
}
/**
 * Properties for defining a `CfnDirectConnectGateway`
 *
 * @struct
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-directconnectgateway.html
 */
export interface CfnDirectConnectGatewayProps {
    /**
     * The autonomous system number (ASN) for the Amazon side of the connection.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-directconnectgateway.html#cfn-directconnect-directconnectgateway-amazonsideasn
     */
    readonly amazonSideAsn?: string;
    /**
     * The name of the Direct Connect gateway.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-directconnectgateway.html#cfn-directconnect-directconnectgateway-directconnectgatewayname
     */
    readonly directConnectGatewayName: string;
    /**
     * The tags associated with the Direct Connect gateway.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-directconnectgateway.html#cfn-directconnect-directconnectgateway-tags
     */
    readonly tags?: Array<cdk.CfnTag>;
}
/**
 * Resource Type definition for AWS::DirectConnect::DirectConnectGatewayAssociation.
 *
 * @cloudformationResource AWS::DirectConnect::DirectConnectGatewayAssociation
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-directconnectgatewayassociation.html
 */
export declare class CfnDirectConnectGatewayAssociation extends cdk.CfnResource implements cdk.IInspectable, IDirectConnectGatewayAssociationRef {
    /**
     * The CloudFormation resource type name for this resource class.
     */
    static readonly CFN_RESOURCE_TYPE_NAME: string;
    /**
     * Build a CfnDirectConnectGatewayAssociation from CloudFormation properties
     *
     * A factory method that creates a new instance of this class from an object
     * containing the CloudFormation properties of this resource.
     * Used in the @aws-cdk/cloudformation-include module.
     *
     * @internal
     */
    static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnDirectConnectGatewayAssociation;
    /**
     * Checks whether the given object is a CfnDirectConnectGatewayAssociation
     */
    static isCfnDirectConnectGatewayAssociation(x: any): x is CfnDirectConnectGatewayAssociation;
    /**
     * The Amazon Resource Name (ARN) of the role to accept the Direct Connect Gateway association proposal.
     */
    private _acceptDirectConnectGatewayAssociationProposalRoleArn?;
    /**
     * The Amazon VPC prefixes to advertise to the Direct Connect gateway.
     */
    private _allowedPrefixesToDirectConnectGateway?;
    private _associatedGatewayId;
    private _directConnectGatewayId;
    /**
     * Create a new `AWS::DirectConnect::DirectConnectGatewayAssociation`.
     *
     * @param scope Scope in which this resource is defined
     * @param id Construct identifier for this resource (unique in its scope)
     * @param props Resource properties
     */
    constructor(scope: constructs.Construct, id: string, props: CfnDirectConnectGatewayAssociationProps);
    get directConnectGatewayAssociationRef(): DirectConnectGatewayAssociationReference;
    /**
     * The Amazon Resource Name (ARN) of the role to accept the Direct Connect Gateway association proposal.
     */
    get acceptDirectConnectGatewayAssociationProposalRoleArn(): string | undefined;
    /**
     * The Amazon Resource Name (ARN) of the role to accept the Direct Connect Gateway association proposal.
     */
    set acceptDirectConnectGatewayAssociationProposalRoleArn(value: string | undefined);
    /**
     * The Amazon VPC prefixes to advertise to the Direct Connect gateway.
     */
    get allowedPrefixesToDirectConnectGateway(): Array<string> | undefined;
    /**
     * The Amazon VPC prefixes to advertise to the Direct Connect gateway.
     */
    set allowedPrefixesToDirectConnectGateway(value: Array<string> | undefined);
    get associatedGatewayId(): string;
    set associatedGatewayId(value: string);
    get directConnectGatewayId(): string;
    set directConnectGatewayId(value: string);
    /**
     * The ID of the Direct Connect gateway association.
     *
     * @cloudformationAttribute AssociationId
     */
    get attrAssociationId(): string;
    protected get cfnProperties(): Record<string, any>;
    /**
     * Examines the CloudFormation resource and discloses attributes
     *
     * @param inspector tree inspector to collect and process attributes
     */
    inspect(inspector: cdk.TreeInspector): void;
    protected renderProperties(props: Record<string, any>): Record<string, any>;
}
/**
 * Properties for defining a `CfnDirectConnectGatewayAssociation`
 *
 * @struct
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-directconnectgatewayassociation.html
 */
export interface CfnDirectConnectGatewayAssociationProps {
    /**
     * The Amazon Resource Name (ARN) of the role to accept the Direct Connect Gateway association proposal.
     *
     * Needs directconnect:AcceptDirectConnectGatewayAssociationProposal permissions.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-directconnectgatewayassociation.html#cfn-directconnect-directconnectgatewayassociation-acceptdirectconnectgatewayassociationproposalrolearn
     */
    readonly acceptDirectConnectGatewayAssociationProposalRoleArn?: string;
    /**
     * The Amazon VPC prefixes to advertise to the Direct Connect gateway.
     *
     * This parameter is required when you create an association to a transit gateway.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-directconnectgatewayassociation.html#cfn-directconnect-directconnectgatewayassociation-allowedprefixestodirectconnectgateway
     */
    readonly allowedPrefixesToDirectConnectGateway?: Array<string>;
    /**
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-directconnectgatewayassociation.html#cfn-directconnect-directconnectgatewayassociation-associatedgatewayid
     */
    readonly associatedGatewayId: ec2Refs.ITransitGatewayRef | ec2Refs.IVPNGatewayRef | string;
    /**
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-directconnectgatewayassociation.html#cfn-directconnect-directconnectgatewayassociation-directconnectgatewayid
     */
    readonly directConnectGatewayId: directConnectRefs.IDirectConnectGatewayRef | string;
}
/**
 * Resource Type definition for AWS::DirectConnect::Lag.
 *
 * @cloudformationResource AWS::DirectConnect::Lag
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-lag.html
 */
export declare class CfnLag extends cdk.CfnResource implements cdk.IInspectable, ILagRef, cdk.ITaggableV2 {
    /**
     * The CloudFormation resource type name for this resource class.
     */
    static readonly CFN_RESOURCE_TYPE_NAME: string;
    /**
     * Build a CfnLag from CloudFormation properties
     *
     * A factory method that creates a new instance of this class from an object
     * containing the CloudFormation properties of this resource.
     * Used in the @aws-cdk/cloudformation-include module.
     *
     * @internal
     */
    static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnLag;
    /**
     * Checks whether the given object is a CfnLag
     */
    static isCfnLag(x: any): x is CfnLag;
    static arnForLag(resource: ILagRef): string;
    /**
     * Tag Manager which manages the tags for this resource
     */
    readonly cdkTagManager: cdk.TagManager;
    /**
     * The bandwidth of the individual physical dedicated connections bundled by the LAG.
     */
    private _connectionsBandwidth;
    /**
     * The name of the LAG.
     */
    private _lagName;
    /**
     * The location for the LAG.
     */
    private _location;
    /**
     * The minimum number of physical dedicated connections that must be operational for the LAG itself to be operational.
     */
    private _minimumLinks?;
    /**
     * The name of the service provider associated with the requested LAG.
     */
    private _providerName?;
    /**
     * Indicates whether you want the LAG to support MAC Security (MACsec).
     */
    private _requestMacSec?;
    /**
     * The tags associated with the LAG.
     */
    private _tags?;
    /**
     * Create a new `AWS::DirectConnect::Lag`.
     *
     * @param scope Scope in which this resource is defined
     * @param id Construct identifier for this resource (unique in its scope)
     * @param props Resource properties
     */
    constructor(scope: constructs.Construct, id: string, props: CfnLagProps);
    get lagRef(): LagReference;
    /**
     * The bandwidth of the individual physical dedicated connections bundled by the LAG.
     */
    get connectionsBandwidth(): string;
    /**
     * The bandwidth of the individual physical dedicated connections bundled by the LAG.
     */
    set connectionsBandwidth(value: string);
    /**
     * The name of the LAG.
     */
    get lagName(): string;
    /**
     * The name of the LAG.
     */
    set lagName(value: string);
    /**
     * The location for the LAG.
     */
    get location(): string;
    /**
     * The location for the LAG.
     */
    set location(value: string);
    /**
     * The minimum number of physical dedicated connections that must be operational for the LAG itself to be operational.
     */
    get minimumLinks(): number | undefined;
    /**
     * The minimum number of physical dedicated connections that must be operational for the LAG itself to be operational.
     */
    set minimumLinks(value: number | undefined);
    /**
     * The name of the service provider associated with the requested LAG.
     */
    get providerName(): string | undefined;
    /**
     * The name of the service provider associated with the requested LAG.
     */
    set providerName(value: string | undefined);
    /**
     * Indicates whether you want the LAG to support MAC Security (MACsec).
     */
    get requestMacSec(): boolean | cdk.IResolvable | undefined;
    /**
     * Indicates whether you want the LAG to support MAC Security (MACsec).
     */
    set requestMacSec(value: boolean | cdk.IResolvable | undefined);
    /**
     * The tags associated with the LAG.
     */
    get tags(): Array<cdk.CfnTag> | undefined;
    /**
     * The tags associated with the LAG.
     */
    set tags(value: Array<cdk.CfnTag> | undefined);
    /**
     * The ARN of the LAG.
     *
     * @cloudformationAttribute LagArn
     */
    get attrLagArn(): string;
    /**
     * The ID of the LAG.
     *
     * @cloudformationAttribute LagId
     */
    get attrLagId(): string;
    /**
     * The state of the LAG.
     *
     * @cloudformationAttribute LagState
     */
    get attrLagState(): string;
    protected get cfnProperties(): Record<string, any>;
    /**
     * Examines the CloudFormation resource and discloses attributes
     *
     * @param inspector tree inspector to collect and process attributes
     */
    inspect(inspector: cdk.TreeInspector): void;
    protected renderProperties(props: Record<string, any>): Record<string, any>;
}
/**
 * Properties for defining a `CfnLag`
 *
 * @struct
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-lag.html
 */
export interface CfnLagProps {
    /**
     * The bandwidth of the individual physical dedicated connections bundled by the LAG.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-lag.html#cfn-directconnect-lag-connectionsbandwidth
     */
    readonly connectionsBandwidth: string;
    /**
     * The name of the LAG.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-lag.html#cfn-directconnect-lag-lagname
     */
    readonly lagName: string;
    /**
     * The location for the LAG.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-lag.html#cfn-directconnect-lag-location
     */
    readonly location: string;
    /**
     * The minimum number of physical dedicated connections that must be operational for the LAG itself to be operational.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-lag.html#cfn-directconnect-lag-minimumlinks
     */
    readonly minimumLinks?: number;
    /**
     * The name of the service provider associated with the requested LAG.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-lag.html#cfn-directconnect-lag-providername
     */
    readonly providerName?: string;
    /**
     * Indicates whether you want the LAG to support MAC Security (MACsec).
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-lag.html#cfn-directconnect-lag-requestmacsec
     */
    readonly requestMacSec?: boolean | cdk.IResolvable;
    /**
     * The tags associated with the LAG.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-lag.html#cfn-directconnect-lag-tags
     */
    readonly tags?: Array<cdk.CfnTag>;
}
/**
 * Resource Type definition for AWS::DirectConnect::PrivateVirtualInterface.
 *
 * @cloudformationResource AWS::DirectConnect::PrivateVirtualInterface
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-privatevirtualinterface.html
 */
export declare class CfnPrivateVirtualInterface extends cdk.CfnResource implements cdk.IInspectable, IPrivateVirtualInterfaceRef, cdk.ITaggableV2 {
    /**
     * The CloudFormation resource type name for this resource class.
     */
    static readonly CFN_RESOURCE_TYPE_NAME: string;
    /**
     * Build a CfnPrivateVirtualInterface from CloudFormation properties
     *
     * A factory method that creates a new instance of this class from an object
     * containing the CloudFormation properties of this resource.
     * Used in the @aws-cdk/cloudformation-include module.
     *
     * @internal
     */
    static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnPrivateVirtualInterface;
    /**
     * Checks whether the given object is a CfnPrivateVirtualInterface
     */
    static isCfnPrivateVirtualInterface(x: any): x is CfnPrivateVirtualInterface;
    /**
     * The Amazon Resource Name (ARN) of the role to allocate the private virtual interface.
     */
    private _allocatePrivateVirtualInterfaceRoleArn?;
    /**
     * The BGP peers configured on this virtual interface.
     */
    private _bgpPeers;
    /**
     * Tag Manager which manages the tags for this resource
     */
    readonly cdkTagManager: cdk.TagManager;
    private _connectionId;
    private _directConnectGatewayId?;
    /**
     * Indicates whether to enable or disable SiteLink.
     */
    private _enableSiteLink?;
    /**
     * The maximum transmission unit (MTU), in bytes.
     */
    private _mtu?;
    /**
     * The tags associated with the private virtual interface.
     */
    private _tags?;
    /**
     * The ID or ARN of the virtual private gateway.
     */
    private _virtualGatewayId?;
    /**
     * The name of the virtual interface assigned by the customer network.
     */
    private _virtualInterfaceName;
    /**
     * The ID of the VLAN.
     */
    private _vlan;
    /**
     * Create a new `AWS::DirectConnect::PrivateVirtualInterface`.
     *
     * @param scope Scope in which this resource is defined
     * @param id Construct identifier for this resource (unique in its scope)
     * @param props Resource properties
     */
    constructor(scope: constructs.Construct, id: string, props: CfnPrivateVirtualInterfaceProps);
    get privateVirtualInterfaceRef(): PrivateVirtualInterfaceReference;
    /**
     * The Amazon Resource Name (ARN) of the role to allocate the private virtual interface.
     */
    get allocatePrivateVirtualInterfaceRoleArn(): string | undefined;
    /**
     * The Amazon Resource Name (ARN) of the role to allocate the private virtual interface.
     */
    set allocatePrivateVirtualInterfaceRoleArn(value: string | undefined);
    /**
     * The BGP peers configured on this virtual interface.
     */
    get bgpPeers(): Array<CfnPrivateVirtualInterface.BgpPeerProperty | cdk.IResolvable> | cdk.IResolvable;
    /**
     * The BGP peers configured on this virtual interface.
     */
    set bgpPeers(value: Array<CfnPrivateVirtualInterface.BgpPeerProperty | cdk.IResolvable> | cdk.IResolvable);
    get connectionId(): string;
    set connectionId(value: string);
    get directConnectGatewayId(): string | undefined;
    set directConnectGatewayId(value: string | undefined);
    /**
     * Indicates whether to enable or disable SiteLink.
     */
    get enableSiteLink(): boolean | cdk.IResolvable | undefined;
    /**
     * Indicates whether to enable or disable SiteLink.
     */
    set enableSiteLink(value: boolean | cdk.IResolvable | undefined);
    /**
     * The maximum transmission unit (MTU), in bytes.
     */
    get mtu(): number | undefined;
    /**
     * The maximum transmission unit (MTU), in bytes.
     */
    set mtu(value: number | undefined);
    /**
     * The tags associated with the private virtual interface.
     */
    get tags(): Array<cdk.CfnTag> | undefined;
    /**
     * The tags associated with the private virtual interface.
     */
    set tags(value: Array<cdk.CfnTag> | undefined);
    /**
     * The ID or ARN of the virtual private gateway.
     */
    get virtualGatewayId(): string | undefined;
    /**
     * The ID or ARN of the virtual private gateway.
     */
    set virtualGatewayId(value: string | undefined);
    /**
     * The name of the virtual interface assigned by the customer network.
     */
    get virtualInterfaceName(): string;
    /**
     * The name of the virtual interface assigned by the customer network.
     */
    set virtualInterfaceName(value: string);
    /**
     * The ID of the VLAN.
     */
    get vlan(): number;
    /**
     * The ID of the VLAN.
     */
    set vlan(value: number);
    /**
     * The ID of the virtual interface.
     *
     * @cloudformationAttribute VirtualInterfaceArn
     */
    get attrVirtualInterfaceArn(): string;
    /**
     * The ID of the virtual interface.
     *
     * @cloudformationAttribute VirtualInterfaceId
     */
    get attrVirtualInterfaceId(): string;
    protected get cfnProperties(): Record<string, any>;
    /**
     * Examines the CloudFormation resource and discloses attributes
     *
     * @param inspector tree inspector to collect and process attributes
     */
    inspect(inspector: cdk.TreeInspector): void;
    protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnPrivateVirtualInterface {
    /**
     * Information about a BGP peer.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-directconnect-privatevirtualinterface-bgppeer.html
     */
    interface BgpPeerProperty {
        /**
         * The address family for the BGP peer.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-directconnect-privatevirtualinterface-bgppeer.html#cfn-directconnect-privatevirtualinterface-bgppeer-addressfamily
         */
        readonly addressFamily: string;
        /**
         * The IP address assigned to the Amazon interface.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-directconnect-privatevirtualinterface-bgppeer.html#cfn-directconnect-privatevirtualinterface-bgppeer-amazonaddress
         */
        readonly amazonAddress?: string;
        /**
         * The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-directconnect-privatevirtualinterface-bgppeer.html#cfn-directconnect-privatevirtualinterface-bgppeer-asn
         */
        readonly asn: string;
        /**
         * The authentication key for BGP configuration.
         *
         * This string has a minimum length of 6 characters and and a maximum length of 80 characters.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-directconnect-privatevirtualinterface-bgppeer.html#cfn-directconnect-privatevirtualinterface-bgppeer-authkey
         */
        readonly authKey?: string;
        /**
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-directconnect-privatevirtualinterface-bgppeer.html#cfn-directconnect-privatevirtualinterface-bgppeer-bgppeerid
         */
        readonly bgpPeerId?: string;
        /**
         * The IP address assigned to the customer interface.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-directconnect-privatevirtualinterface-bgppeer.html#cfn-directconnect-privatevirtualinterface-bgppeer-customeraddress
         */
        readonly customerAddress?: string;
    }
}
/**
 * Properties for defining a `CfnPrivateVirtualInterface`
 *
 * @struct
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-privatevirtualinterface.html
 */
export interface CfnPrivateVirtualInterfaceProps {
    /**
     * The Amazon Resource Name (ARN) of the role to allocate the private virtual interface.
     *
     * Needs directconnect:AllocatePrivateVirtualInterface permissions and tag permissions if applicable.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-privatevirtualinterface.html#cfn-directconnect-privatevirtualinterface-allocateprivatevirtualinterfacerolearn
     */
    readonly allocatePrivateVirtualInterfaceRoleArn?: string;
    /**
     * The BGP peers configured on this virtual interface.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-privatevirtualinterface.html#cfn-directconnect-privatevirtualinterface-bgppeers
     */
    readonly bgpPeers: Array<CfnPrivateVirtualInterface.BgpPeerProperty | cdk.IResolvable> | cdk.IResolvable;
    /**
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-privatevirtualinterface.html#cfn-directconnect-privatevirtualinterface-connectionid
     */
    readonly connectionId: directConnectRefs.IConnectionRef | directConnectRefs.ILagRef | string;
    /**
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-privatevirtualinterface.html#cfn-directconnect-privatevirtualinterface-directconnectgatewayid
     */
    readonly directConnectGatewayId?: directConnectRefs.IDirectConnectGatewayRef | string;
    /**
     * Indicates whether to enable or disable SiteLink.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-privatevirtualinterface.html#cfn-directconnect-privatevirtualinterface-enablesitelink
     */
    readonly enableSiteLink?: boolean | cdk.IResolvable;
    /**
     * The maximum transmission unit (MTU), in bytes.
     *
     * The supported values are 1500 and 9001. The default value is 1500.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-privatevirtualinterface.html#cfn-directconnect-privatevirtualinterface-mtu
     */
    readonly mtu?: number;
    /**
     * The tags associated with the private virtual interface.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-privatevirtualinterface.html#cfn-directconnect-privatevirtualinterface-tags
     */
    readonly tags?: Array<cdk.CfnTag>;
    /**
     * The ID or ARN of the virtual private gateway.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-privatevirtualinterface.html#cfn-directconnect-privatevirtualinterface-virtualgatewayid
     */
    readonly virtualGatewayId?: string;
    /**
     * The name of the virtual interface assigned by the customer network.
     *
     * The name has a maximum of 100 characters. The following are valid characters: a-z, 0-9 and a hyphen (-).
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-privatevirtualinterface.html#cfn-directconnect-privatevirtualinterface-virtualinterfacename
     */
    readonly virtualInterfaceName: string;
    /**
     * The ID of the VLAN.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-privatevirtualinterface.html#cfn-directconnect-privatevirtualinterface-vlan
     */
    readonly vlan: number;
}
/**
 * Resource Type definition for AWS::DirectConnect::PublicVirtualInterface.
 *
 * @cloudformationResource AWS::DirectConnect::PublicVirtualInterface
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-publicvirtualinterface.html
 */
export declare class CfnPublicVirtualInterface extends cdk.CfnResource implements cdk.IInspectable, IPublicVirtualInterfaceRef, cdk.ITaggableV2 {
    /**
     * The CloudFormation resource type name for this resource class.
     */
    static readonly CFN_RESOURCE_TYPE_NAME: string;
    /**
     * Build a CfnPublicVirtualInterface from CloudFormation properties
     *
     * A factory method that creates a new instance of this class from an object
     * containing the CloudFormation properties of this resource.
     * Used in the @aws-cdk/cloudformation-include module.
     *
     * @internal
     */
    static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnPublicVirtualInterface;
    /**
     * Checks whether the given object is a CfnPublicVirtualInterface
     */
    static isCfnPublicVirtualInterface(x: any): x is CfnPublicVirtualInterface;
    /**
     * The Amazon Resource Name (ARN) of the role to allocate the public virtual interface.
     */
    private _allocatePublicVirtualInterfaceRoleArn?;
    /**
     * The BGP peers configured on this virtual interface.
     */
    private _bgpPeers;
    /**
     * Tag Manager which manages the tags for this resource
     */
    readonly cdkTagManager: cdk.TagManager;
    private _connectionId;
    /**
     * The routes to be advertised to the AWS network in this region.
     */
    private _routeFilterPrefixes?;
    /**
     * The tags associated with the public virtual interface.
     */
    private _tags?;
    /**
     * The name of the virtual interface assigned by the customer network.
     */
    private _virtualInterfaceName;
    /**
     * The ID of the VLAN.
     */
    private _vlan;
    /**
     * Create a new `AWS::DirectConnect::PublicVirtualInterface`.
     *
     * @param scope Scope in which this resource is defined
     * @param id Construct identifier for this resource (unique in its scope)
     * @param props Resource properties
     */
    constructor(scope: constructs.Construct, id: string, props: CfnPublicVirtualInterfaceProps);
    get publicVirtualInterfaceRef(): PublicVirtualInterfaceReference;
    /**
     * The Amazon Resource Name (ARN) of the role to allocate the public virtual interface.
     */
    get allocatePublicVirtualInterfaceRoleArn(): string | undefined;
    /**
     * The Amazon Resource Name (ARN) of the role to allocate the public virtual interface.
     */
    set allocatePublicVirtualInterfaceRoleArn(value: string | undefined);
    /**
     * The BGP peers configured on this virtual interface.
     */
    get bgpPeers(): Array<CfnPublicVirtualInterface.BgpPeerProperty | cdk.IResolvable> | cdk.IResolvable;
    /**
     * The BGP peers configured on this virtual interface.
     */
    set bgpPeers(value: Array<CfnPublicVirtualInterface.BgpPeerProperty | cdk.IResolvable> | cdk.IResolvable);
    get connectionId(): string;
    set connectionId(value: string);
    /**
     * The routes to be advertised to the AWS network in this region.
     */
    get routeFilterPrefixes(): Array<string> | undefined;
    /**
     * The routes to be advertised to the AWS network in this region.
     */
    set routeFilterPrefixes(value: Array<string> | undefined);
    /**
     * The tags associated with the public virtual interface.
     */
    get tags(): Array<cdk.CfnTag> | undefined;
    /**
     * The tags associated with the public virtual interface.
     */
    set tags(value: Array<cdk.CfnTag> | undefined);
    /**
     * The name of the virtual interface assigned by the customer network.
     */
    get virtualInterfaceName(): string;
    /**
     * The name of the virtual interface assigned by the customer network.
     */
    set virtualInterfaceName(value: string);
    /**
     * The ID of the VLAN.
     */
    get vlan(): number;
    /**
     * The ID of the VLAN.
     */
    set vlan(value: number);
    /**
     * The ARN of the virtual interface.
     *
     * @cloudformationAttribute VirtualInterfaceArn
     */
    get attrVirtualInterfaceArn(): string;
    /**
     * The ID of the virtual interface.
     *
     * @cloudformationAttribute VirtualInterfaceId
     */
    get attrVirtualInterfaceId(): string;
    protected get cfnProperties(): Record<string, any>;
    /**
     * Examines the CloudFormation resource and discloses attributes
     *
     * @param inspector tree inspector to collect and process attributes
     */
    inspect(inspector: cdk.TreeInspector): void;
    protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnPublicVirtualInterface {
    /**
     * Information about a BGP peer.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-directconnect-publicvirtualinterface-bgppeer.html
     */
    interface BgpPeerProperty {
        /**
         * The address family for the BGP peer.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-directconnect-publicvirtualinterface-bgppeer.html#cfn-directconnect-publicvirtualinterface-bgppeer-addressfamily
         */
        readonly addressFamily: string;
        /**
         * The IP address assigned to the Amazon interface.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-directconnect-publicvirtualinterface-bgppeer.html#cfn-directconnect-publicvirtualinterface-bgppeer-amazonaddress
         */
        readonly amazonAddress?: string;
        /**
         * The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-directconnect-publicvirtualinterface-bgppeer.html#cfn-directconnect-publicvirtualinterface-bgppeer-asn
         */
        readonly asn: string;
        /**
         * The authentication key for BGP configuration.
         *
         * This string has a minimum length of 6 characters and and a maximum length of 80 characters.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-directconnect-publicvirtualinterface-bgppeer.html#cfn-directconnect-publicvirtualinterface-bgppeer-authkey
         */
        readonly authKey?: string;
        /**
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-directconnect-publicvirtualinterface-bgppeer.html#cfn-directconnect-publicvirtualinterface-bgppeer-bgppeerid
         */
        readonly bgpPeerId?: string;
        /**
         * The IP address assigned to the customer interface.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-directconnect-publicvirtualinterface-bgppeer.html#cfn-directconnect-publicvirtualinterface-bgppeer-customeraddress
         */
        readonly customerAddress?: string;
    }
}
/**
 * Properties for defining a `CfnPublicVirtualInterface`
 *
 * @struct
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-publicvirtualinterface.html
 */
export interface CfnPublicVirtualInterfaceProps {
    /**
     * The Amazon Resource Name (ARN) of the role to allocate the public virtual interface.
     *
     * Needs directconnect:AllocatePublicVirtualInterface permissions and tag permissions if applicable.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-publicvirtualinterface.html#cfn-directconnect-publicvirtualinterface-allocatepublicvirtualinterfacerolearn
     */
    readonly allocatePublicVirtualInterfaceRoleArn?: string;
    /**
     * The BGP peers configured on this virtual interface.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-publicvirtualinterface.html#cfn-directconnect-publicvirtualinterface-bgppeers
     */
    readonly bgpPeers: Array<CfnPublicVirtualInterface.BgpPeerProperty | cdk.IResolvable> | cdk.IResolvable;
    /**
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-publicvirtualinterface.html#cfn-directconnect-publicvirtualinterface-connectionid
     */
    readonly connectionId: directConnectRefs.IConnectionRef | directConnectRefs.ILagRef | string;
    /**
     * The routes to be advertised to the AWS network in this region.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-publicvirtualinterface.html#cfn-directconnect-publicvirtualinterface-routefilterprefixes
     */
    readonly routeFilterPrefixes?: Array<string>;
    /**
     * The tags associated with the public virtual interface.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-publicvirtualinterface.html#cfn-directconnect-publicvirtualinterface-tags
     */
    readonly tags?: Array<cdk.CfnTag>;
    /**
     * The name of the virtual interface assigned by the customer network.
     *
     * The name has a maximum of 100 characters. The following are valid characters: a-z, 0-9 and a hyphen (-).
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-publicvirtualinterface.html#cfn-directconnect-publicvirtualinterface-virtualinterfacename
     */
    readonly virtualInterfaceName: string;
    /**
     * The ID of the VLAN.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-publicvirtualinterface.html#cfn-directconnect-publicvirtualinterface-vlan
     */
    readonly vlan: number;
}
/**
 * Resource Type definition for AWS::DirectConnect::TransitVirtualInterface.
 *
 * @cloudformationResource AWS::DirectConnect::TransitVirtualInterface
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-transitvirtualinterface.html
 */
export declare class CfnTransitVirtualInterface extends cdk.CfnResource implements cdk.IInspectable, ITransitVirtualInterfaceRef, cdk.ITaggableV2 {
    /**
     * The CloudFormation resource type name for this resource class.
     */
    static readonly CFN_RESOURCE_TYPE_NAME: string;
    /**
     * Build a CfnTransitVirtualInterface from CloudFormation properties
     *
     * A factory method that creates a new instance of this class from an object
     * containing the CloudFormation properties of this resource.
     * Used in the @aws-cdk/cloudformation-include module.
     *
     * @internal
     */
    static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnTransitVirtualInterface;
    /**
     * Checks whether the given object is a CfnTransitVirtualInterface
     */
    static isCfnTransitVirtualInterface(x: any): x is CfnTransitVirtualInterface;
    /**
     * The Amazon Resource Name (ARN) of the role to allocate the TransitVifAllocation.
     */
    private _allocateTransitVirtualInterfaceRoleArn?;
    /**
     * The BGP peers configured on this virtual interface..
     */
    private _bgpPeers;
    /**
     * Tag Manager which manages the tags for this resource
     */
    readonly cdkTagManager: cdk.TagManager;
    private _connectionId;
    private _directConnectGatewayId;
    /**
     * Indicates whether to enable or disable SiteLink.
     */
    private _enableSiteLink?;
    /**
     * The maximum transmission unit (MTU), in bytes.
     */
    private _mtu?;
    /**
     * The tags associated with the private virtual interface.
     */
    private _tags?;
    /**
     * The name of the virtual interface assigned by the customer network.
     */
    private _virtualInterfaceName;
    /**
     * The ID of the VLAN.
     */
    private _vlan;
    /**
     * Create a new `AWS::DirectConnect::TransitVirtualInterface`.
     *
     * @param scope Scope in which this resource is defined
     * @param id Construct identifier for this resource (unique in its scope)
     * @param props Resource properties
     */
    constructor(scope: constructs.Construct, id: string, props: CfnTransitVirtualInterfaceProps);
    get transitVirtualInterfaceRef(): TransitVirtualInterfaceReference;
    /**
     * The Amazon Resource Name (ARN) of the role to allocate the TransitVifAllocation.
     */
    get allocateTransitVirtualInterfaceRoleArn(): string | undefined;
    /**
     * The Amazon Resource Name (ARN) of the role to allocate the TransitVifAllocation.
     */
    set allocateTransitVirtualInterfaceRoleArn(value: string | undefined);
    /**
     * The BGP peers configured on this virtual interface..
     */
    get bgpPeers(): Array<CfnTransitVirtualInterface.BgpPeerProperty | cdk.IResolvable> | cdk.IResolvable;
    /**
     * The BGP peers configured on this virtual interface..
     */
    set bgpPeers(value: Array<CfnTransitVirtualInterface.BgpPeerProperty | cdk.IResolvable> | cdk.IResolvable);
    get connectionId(): string;
    set connectionId(value: string);
    get directConnectGatewayId(): string;
    set directConnectGatewayId(value: string);
    /**
     * Indicates whether to enable or disable SiteLink.
     */
    get enableSiteLink(): boolean | cdk.IResolvable | undefined;
    /**
     * Indicates whether to enable or disable SiteLink.
     */
    set enableSiteLink(value: boolean | cdk.IResolvable | undefined);
    /**
     * The maximum transmission unit (MTU), in bytes.
     */
    get mtu(): number | undefined;
    /**
     * The maximum transmission unit (MTU), in bytes.
     */
    set mtu(value: number | undefined);
    /**
     * The tags associated with the private virtual interface.
     */
    get tags(): Array<cdk.CfnTag> | undefined;
    /**
     * The tags associated with the private virtual interface.
     */
    set tags(value: Array<cdk.CfnTag> | undefined);
    /**
     * The name of the virtual interface assigned by the customer network.
     */
    get virtualInterfaceName(): string;
    /**
     * The name of the virtual interface assigned by the customer network.
     */
    set virtualInterfaceName(value: string);
    /**
     * The ID of the VLAN.
     */
    get vlan(): number;
    /**
     * The ID of the VLAN.
     */
    set vlan(value: number);
    /**
     * The ARN of the virtual interface.
     *
     * @cloudformationAttribute VirtualInterfaceArn
     */
    get attrVirtualInterfaceArn(): string;
    /**
     * The ID of the virtual interface.
     *
     * @cloudformationAttribute VirtualInterfaceId
     */
    get attrVirtualInterfaceId(): string;
    protected get cfnProperties(): Record<string, any>;
    /**
     * Examines the CloudFormation resource and discloses attributes
     *
     * @param inspector tree inspector to collect and process attributes
     */
    inspect(inspector: cdk.TreeInspector): void;
    protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnTransitVirtualInterface {
    /**
     * A key-value pair to associate with a resource.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-directconnect-transitvirtualinterface-bgppeer.html
     */
    interface BgpPeerProperty {
        /**
         * The address family for the BGP peer.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-directconnect-transitvirtualinterface-bgppeer.html#cfn-directconnect-transitvirtualinterface-bgppeer-addressfamily
         */
        readonly addressFamily: string;
        /**
         * The IP address assigned to the Amazon interface.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-directconnect-transitvirtualinterface-bgppeer.html#cfn-directconnect-transitvirtualinterface-bgppeer-amazonaddress
         */
        readonly amazonAddress?: string;
        /**
         * The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-directconnect-transitvirtualinterface-bgppeer.html#cfn-directconnect-transitvirtualinterface-bgppeer-asn
         */
        readonly asn: string;
        /**
         * The authentication key for BGP configuration.
         *
         * This string has a minimum length of 6 characters and and a maximum length of 80 characters.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-directconnect-transitvirtualinterface-bgppeer.html#cfn-directconnect-transitvirtualinterface-bgppeer-authkey
         */
        readonly authKey?: string;
        /**
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-directconnect-transitvirtualinterface-bgppeer.html#cfn-directconnect-transitvirtualinterface-bgppeer-bgppeerid
         */
        readonly bgpPeerId?: string;
        /**
         * The IP address assigned to the customer interface.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-directconnect-transitvirtualinterface-bgppeer.html#cfn-directconnect-transitvirtualinterface-bgppeer-customeraddress
         */
        readonly customerAddress?: string;
    }
}
/**
 * Properties for defining a `CfnTransitVirtualInterface`
 *
 * @struct
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-transitvirtualinterface.html
 */
export interface CfnTransitVirtualInterfaceProps {
    /**
     * The Amazon Resource Name (ARN) of the role to allocate the TransitVifAllocation.
     *
     * Needs directconnect:AllocateTransitVirtualInterface permissions and tag permissions if applicable.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-transitvirtualinterface.html#cfn-directconnect-transitvirtualinterface-allocatetransitvirtualinterfacerolearn
     */
    readonly allocateTransitVirtualInterfaceRoleArn?: string;
    /**
     * The BGP peers configured on this virtual interface..
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-transitvirtualinterface.html#cfn-directconnect-transitvirtualinterface-bgppeers
     */
    readonly bgpPeers: Array<CfnTransitVirtualInterface.BgpPeerProperty | cdk.IResolvable> | cdk.IResolvable;
    /**
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-transitvirtualinterface.html#cfn-directconnect-transitvirtualinterface-connectionid
     */
    readonly connectionId: directConnectRefs.IConnectionRef | directConnectRefs.ILagRef | string;
    /**
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-transitvirtualinterface.html#cfn-directconnect-transitvirtualinterface-directconnectgatewayid
     */
    readonly directConnectGatewayId: directConnectRefs.IDirectConnectGatewayRef | string;
    /**
     * Indicates whether to enable or disable SiteLink.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-transitvirtualinterface.html#cfn-directconnect-transitvirtualinterface-enablesitelink
     */
    readonly enableSiteLink?: boolean | cdk.IResolvable;
    /**
     * The maximum transmission unit (MTU), in bytes.
     *
     * The supported values are 1500 and 9001. The default value is 1500.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-transitvirtualinterface.html#cfn-directconnect-transitvirtualinterface-mtu
     */
    readonly mtu?: number;
    /**
     * The tags associated with the private virtual interface.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-transitvirtualinterface.html#cfn-directconnect-transitvirtualinterface-tags
     */
    readonly tags?: Array<cdk.CfnTag>;
    /**
     * The name of the virtual interface assigned by the customer network.
     *
     * The name has a maximum of 100 characters. The following are valid characters: a-z, 0-9 and a hyphen (-).
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-transitvirtualinterface.html#cfn-directconnect-transitvirtualinterface-virtualinterfacename
     */
    readonly virtualInterfaceName: string;
    /**
     * The ID of the VLAN.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-transitvirtualinterface.html#cfn-directconnect-transitvirtualinterface-vlan
     */
    readonly vlan: number;
}
export type { IConnectionRef, ConnectionReference };
export type { IDirectConnectGatewayRef, DirectConnectGatewayReference };
export type { IDirectConnectGatewayAssociationRef, DirectConnectGatewayAssociationReference };
export type { ILagRef, LagReference };
export type { IPrivateVirtualInterfaceRef, PrivateVirtualInterfaceReference };
export type { IPublicVirtualInterfaceRef, PublicVirtualInterfaceReference };
export type { ITransitVirtualInterfaceRef, TransitVirtualInterfaceReference };
