import * as core from "@terrascript/core";
export interface RouteTableRouteArgs extends core.SchemaArgs {
    destinationCidr: string | core.StringOut;
    destinationPrefixListId: string | core.StringOut;
    egressOnlyInternetGatewayId: string | core.StringOut;
    gatewayId: string | core.StringOut;
    instanceId: string | core.StringOut;
    natGatewayId: string | core.StringOut;
    networkInterfaceId: string | core.StringOut;
    origin: string | core.StringOut;
    transitGatewayId: string | core.StringOut;
    vpcPeeringConnectionId: string | core.StringOut;
}
export declare class RouteTableRoute extends core.Schema<RouteTableRouteArgs> {
    destinationCidr: string | core.StringOut;
    destinationPrefixListId: string | core.StringOut;
    egressOnlyInternetGatewayId: string | core.StringOut;
    gatewayId: string | core.StringOut;
    instanceId: string | core.StringOut;
    natGatewayId: string | core.StringOut;
    networkInterfaceId: string | core.StringOut;
    origin: string | core.StringOut;
    transitGatewayId: string | core.StringOut;
    vpcPeeringConnectionId: string | core.StringOut;
}
export interface TransitGatewayRouteTableRouteArgs extends core.SchemaArgs {
    attachmentId: string | core.StringOut;
    destinationCidr: string | core.StringOut;
    prefixListId: string | core.StringOut;
    resourceId: string | core.StringOut;
    resourceType: string | core.StringOut;
    routeOrigin: string | core.StringOut;
    state: string | core.StringOut;
}
export declare class TransitGatewayRouteTableRoute extends core.Schema<TransitGatewayRouteTableRouteArgs> {
    attachmentId: string | core.StringOut;
    destinationCidr: string | core.StringOut;
    prefixListId: string | core.StringOut;
    resourceId: string | core.StringOut;
    resourceType: string | core.StringOut;
    routeOrigin: string | core.StringOut;
    state: string | core.StringOut;
}
export interface AttachedToArgs extends core.SchemaArgs {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export declare class AttachedTo extends core.Schema<AttachedToArgs> {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export interface DestinationVpcArgs extends core.SchemaArgs {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export declare class DestinationVpc extends core.Schema<DestinationVpcArgs> {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export interface SourcePortRangesArgs extends core.SchemaArgs {
    from: number | core.NumberOut;
    to: number | core.NumberOut;
}
export declare class SourcePortRanges extends core.Schema<SourcePortRangesArgs> {
    from: number | core.NumberOut;
    to: number | core.NumberOut;
}
export interface DestinationPortRangesArgs extends core.SchemaArgs {
    from: number | core.NumberOut;
    to: number | core.NumberOut;
}
export declare class DestinationPortRanges extends core.Schema<DestinationPortRangesArgs> {
    from: number | core.NumberOut;
    to: number | core.NumberOut;
}
export interface OutboundHeaderArgs extends core.SchemaArgs {
    destinationAddresses: core.Array<string> | core.ArrayOut<core.StringOut>;
    destinationPortRanges: core.Array<DestinationPortRanges> | core.ArrayOut<DestinationPortRanges>;
    protocol: string | core.StringOut;
    sourceAddresses: core.Array<string> | core.ArrayOut<core.StringOut>;
    sourcePortRanges: core.Array<SourcePortRanges> | core.ArrayOut<SourcePortRanges>;
}
export declare class OutboundHeader extends core.Schema<OutboundHeaderArgs> {
    destinationAddresses: core.Array<string> | core.ArrayOut<core.StringOut>;
    destinationPortRanges: core.Array<DestinationPortRanges> | core.ArrayOut<DestinationPortRanges>;
    protocol: string | core.StringOut;
    sourceAddresses: core.Array<string> | core.ArrayOut<core.StringOut>;
    sourcePortRanges: core.Array<SourcePortRanges> | core.ArrayOut<SourcePortRanges>;
}
export interface ComponentArgs extends core.SchemaArgs {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export declare class Component extends core.Schema<ComponentArgs> {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export interface PortRangeArgs extends core.SchemaArgs {
    from: number | core.NumberOut;
    to: number | core.NumberOut;
}
export declare class PortRange extends core.Schema<PortRangeArgs> {
    from: number | core.NumberOut;
    to: number | core.NumberOut;
}
export interface SecurityGroupRuleArgs extends core.SchemaArgs {
    cidr: string | core.StringOut;
    direction: string | core.StringOut;
    portRange: core.Array<PortRange> | core.ArrayOut<PortRange>;
    prefixListId: string | core.StringOut;
    protocol: string | core.StringOut;
    securityGroupId: string | core.StringOut;
}
export declare class SecurityGroupRule extends core.Schema<SecurityGroupRuleArgs> {
    cidr: string | core.StringOut;
    direction: string | core.StringOut;
    portRange: core.Array<PortRange> | core.ArrayOut<PortRange>;
    prefixListId: string | core.StringOut;
    protocol: string | core.StringOut;
    securityGroupId: string | core.StringOut;
}
export interface SubnetArgs extends core.SchemaArgs {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export declare class Subnet extends core.Schema<SubnetArgs> {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export interface VpcArgs extends core.SchemaArgs {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export declare class Vpc extends core.Schema<VpcArgs> {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export interface SourceVpcArgs extends core.SchemaArgs {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export declare class SourceVpc extends core.Schema<SourceVpcArgs> {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export interface TransitGatewayArgs extends core.SchemaArgs {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export declare class TransitGateway extends core.Schema<TransitGatewayArgs> {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export interface InboundHeaderArgs extends core.SchemaArgs {
    destinationAddresses: core.Array<string> | core.ArrayOut<core.StringOut>;
    destinationPortRanges: core.Array<DestinationPortRanges> | core.ArrayOut<DestinationPortRanges>;
    protocol: string | core.StringOut;
    sourceAddresses: core.Array<string> | core.ArrayOut<core.StringOut>;
    sourcePortRanges: core.Array<SourcePortRanges> | core.ArrayOut<SourcePortRanges>;
}
export declare class InboundHeader extends core.Schema<InboundHeaderArgs> {
    destinationAddresses: core.Array<string> | core.ArrayOut<core.StringOut>;
    destinationPortRanges: core.Array<DestinationPortRanges> | core.ArrayOut<DestinationPortRanges>;
    protocol: string | core.StringOut;
    sourceAddresses: core.Array<string> | core.ArrayOut<core.StringOut>;
    sourcePortRanges: core.Array<SourcePortRanges> | core.ArrayOut<SourcePortRanges>;
}
export interface AclRuleArgs extends core.SchemaArgs {
    cidr: string | core.StringOut;
    egress: boolean | core.BooleanOut;
    portRange: core.Array<PortRange> | core.ArrayOut<PortRange>;
    protocol: string | core.StringOut;
    ruleAction: string | core.StringOut;
    ruleNumber: number | core.NumberOut;
}
export declare class AclRule extends core.Schema<AclRuleArgs> {
    cidr: string | core.StringOut;
    egress: boolean | core.BooleanOut;
    portRange: core.Array<PortRange> | core.ArrayOut<PortRange>;
    protocol: string | core.StringOut;
    ruleAction: string | core.StringOut;
    ruleNumber: number | core.NumberOut;
}
export interface AdditionalDetailsArgs extends core.SchemaArgs {
    additionalDetailType: string | core.StringOut;
    component: core.Array<Component> | core.ArrayOut<Component>;
}
export declare class AdditionalDetails extends core.Schema<AdditionalDetailsArgs> {
    additionalDetailType: string | core.StringOut;
    component: core.Array<Component> | core.ArrayOut<Component>;
}
export interface ReturnPathComponentsArgs extends core.SchemaArgs {
    aclRule: core.Array<AclRule> | core.ArrayOut<AclRule>;
    additionalDetails: core.Array<AdditionalDetails> | core.ArrayOut<AdditionalDetails>;
    attachedTo: core.Array<AttachedTo> | core.ArrayOut<AttachedTo>;
    component: core.Array<Component> | core.ArrayOut<Component>;
    destinationVpc: core.Array<DestinationVpc> | core.ArrayOut<DestinationVpc>;
    inboundHeader: core.Array<InboundHeader> | core.ArrayOut<InboundHeader>;
    outboundHeader: core.Array<OutboundHeader> | core.ArrayOut<OutboundHeader>;
    routeTableRoute: core.Array<RouteTableRoute> | core.ArrayOut<RouteTableRoute>;
    securityGroupRule: core.Array<SecurityGroupRule> | core.ArrayOut<SecurityGroupRule>;
    sequenceNumber: number | core.NumberOut;
    sourceVpc: core.Array<SourceVpc> | core.ArrayOut<SourceVpc>;
    subnet: core.Array<Subnet> | core.ArrayOut<Subnet>;
    transitGateway: core.Array<TransitGateway> | core.ArrayOut<TransitGateway>;
    transitGatewayRouteTableRoute: core.Array<TransitGatewayRouteTableRoute> | core.ArrayOut<TransitGatewayRouteTableRoute>;
    vpc: core.Array<Vpc> | core.ArrayOut<Vpc>;
}
export declare class ReturnPathComponents extends core.Schema<ReturnPathComponentsArgs> {
    aclRule: core.Array<AclRule> | core.ArrayOut<AclRule>;
    additionalDetails: core.Array<AdditionalDetails> | core.ArrayOut<AdditionalDetails>;
    attachedTo: core.Array<AttachedTo> | core.ArrayOut<AttachedTo>;
    component: core.Array<Component> | core.ArrayOut<Component>;
    destinationVpc: core.Array<DestinationVpc> | core.ArrayOut<DestinationVpc>;
    inboundHeader: core.Array<InboundHeader> | core.ArrayOut<InboundHeader>;
    outboundHeader: core.Array<OutboundHeader> | core.ArrayOut<OutboundHeader>;
    routeTableRoute: core.Array<RouteTableRoute> | core.ArrayOut<RouteTableRoute>;
    securityGroupRule: core.Array<SecurityGroupRule> | core.ArrayOut<SecurityGroupRule>;
    sequenceNumber: number | core.NumberOut;
    sourceVpc: core.Array<SourceVpc> | core.ArrayOut<SourceVpc>;
    subnet: core.Array<Subnet> | core.ArrayOut<Subnet>;
    transitGateway: core.Array<TransitGateway> | core.ArrayOut<TransitGateway>;
    transitGatewayRouteTableRoute: core.Array<TransitGatewayRouteTableRoute> | core.ArrayOut<TransitGatewayRouteTableRoute>;
    vpc: core.Array<Vpc> | core.ArrayOut<Vpc>;
}
export interface AlternatePathHintsArgs extends core.SchemaArgs {
    componentArn: string | core.StringOut;
    componentId: string | core.StringOut;
}
export declare class AlternatePathHints extends core.Schema<AlternatePathHintsArgs> {
    componentArn: string | core.StringOut;
    componentId: string | core.StringOut;
}
export interface SubnetRouteTableArgs extends core.SchemaArgs {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export declare class SubnetRouteTable extends core.Schema<SubnetRouteTableArgs> {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export interface VpnGatewayArgs extends core.SchemaArgs {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export declare class VpnGateway extends core.Schema<VpnGatewayArgs> {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export interface VpcPeeringConnectionArgs extends core.SchemaArgs {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export declare class VpcPeeringConnection extends core.Schema<VpcPeeringConnectionArgs> {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export interface CustomerGatewayArgs extends core.SchemaArgs {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export declare class CustomerGateway extends core.Schema<CustomerGatewayArgs> {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export interface TransitGatewayRouteTableArgs extends core.SchemaArgs {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export declare class TransitGatewayRouteTable extends core.Schema<TransitGatewayRouteTableArgs> {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export interface VpcEndpointArgs extends core.SchemaArgs {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export declare class VpcEndpoint extends core.Schema<VpcEndpointArgs> {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export interface PortRangesArgs extends core.SchemaArgs {
    from: number | core.NumberOut;
    to: number | core.NumberOut;
}
export declare class PortRanges extends core.Schema<PortRangesArgs> {
    from: number | core.NumberOut;
    to: number | core.NumberOut;
}
export interface DestinationArgs extends core.SchemaArgs {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export declare class Destination extends core.Schema<DestinationArgs> {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export interface ClassicLoadBalancerListenerArgs extends core.SchemaArgs {
    instancePort: number | core.NumberOut;
    loadBalancerPort: number | core.NumberOut;
}
export declare class ClassicLoadBalancerListener extends core.Schema<ClassicLoadBalancerListenerArgs> {
    instancePort: number | core.NumberOut;
    loadBalancerPort: number | core.NumberOut;
}
export interface NatGatewayArgs extends core.SchemaArgs {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export declare class NatGateway extends core.Schema<NatGatewayArgs> {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export interface RouteTableArgs extends core.SchemaArgs {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export declare class RouteTable extends core.Schema<RouteTableArgs> {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export interface ElasticLoadBalancerListenerArgs extends core.SchemaArgs {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export declare class ElasticLoadBalancerListener extends core.Schema<ElasticLoadBalancerListenerArgs> {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export interface VpnConnectionArgs extends core.SchemaArgs {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export declare class VpnConnection extends core.Schema<VpnConnectionArgs> {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export interface LoadBalancerTargetGroupArgs extends core.SchemaArgs {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export declare class LoadBalancerTargetGroup extends core.Schema<LoadBalancerTargetGroupArgs> {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export interface PrefixListArgs extends core.SchemaArgs {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export declare class PrefixList extends core.Schema<PrefixListArgs> {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export interface IngressRouteTableArgs extends core.SchemaArgs {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export declare class IngressRouteTable extends core.Schema<IngressRouteTableArgs> {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export interface SecurityGroupArgs extends core.SchemaArgs {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export declare class SecurityGroup extends core.Schema<SecurityGroupArgs> {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export interface InternetGatewayArgs extends core.SchemaArgs {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export declare class InternetGateway extends core.Schema<InternetGatewayArgs> {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export interface LoadBalancerTargetGroupsArgs extends core.SchemaArgs {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export declare class LoadBalancerTargetGroups extends core.Schema<LoadBalancerTargetGroupsArgs> {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export interface AclArgs extends core.SchemaArgs {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export declare class Acl extends core.Schema<AclArgs> {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export interface NetworkInterfaceArgs extends core.SchemaArgs {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export declare class NetworkInterface extends core.Schema<NetworkInterfaceArgs> {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export interface TransitGatewayAttachmentArgs extends core.SchemaArgs {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export declare class TransitGatewayAttachment extends core.Schema<TransitGatewayAttachmentArgs> {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export interface SecurityGroupsArgs extends core.SchemaArgs {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export declare class SecurityGroups extends core.Schema<SecurityGroupsArgs> {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
}
export interface ExplanationsArgs extends core.SchemaArgs {
    acl: core.Array<Acl> | core.ArrayOut<Acl>;
    aclRule: core.Array<AclRule> | core.ArrayOut<AclRule>;
    address: string | core.StringOut;
    addresses: core.Array<string> | core.ArrayOut<core.StringOut>;
    attachedTo: core.Array<AttachedTo> | core.ArrayOut<AttachedTo>;
    availabilityZones: core.Array<string> | core.ArrayOut<core.StringOut>;
    cidrs: core.Array<string> | core.ArrayOut<core.StringOut>;
    classicLoadBalancerListener: core.Array<ClassicLoadBalancerListener> | core.ArrayOut<ClassicLoadBalancerListener>;
    component: core.Array<Component> | core.ArrayOut<Component>;
    customerGateway: core.Array<CustomerGateway> | core.ArrayOut<CustomerGateway>;
    destination: core.Array<Destination> | core.ArrayOut<Destination>;
    destinationVpc: core.Array<DestinationVpc> | core.ArrayOut<DestinationVpc>;
    direction: string | core.StringOut;
    elasticLoadBalancerListener: core.Array<ElasticLoadBalancerListener> | core.ArrayOut<ElasticLoadBalancerListener>;
    explanationCode: string | core.StringOut;
    ingressRouteTable: core.Array<IngressRouteTable> | core.ArrayOut<IngressRouteTable>;
    internetGateway: core.Array<InternetGateway> | core.ArrayOut<InternetGateway>;
    loadBalancerArn: string | core.StringOut;
    loadBalancerListenerPort: number | core.NumberOut;
    loadBalancerTargetGroup: core.Array<LoadBalancerTargetGroup> | core.ArrayOut<LoadBalancerTargetGroup>;
    loadBalancerTargetGroups: core.Array<LoadBalancerTargetGroups> | core.ArrayOut<LoadBalancerTargetGroups>;
    loadBalancerTargetPort: number | core.NumberOut;
    missingComponent: string | core.StringOut;
    natGateway: core.Array<NatGateway> | core.ArrayOut<NatGateway>;
    networkInterface: core.Array<NetworkInterface> | core.ArrayOut<NetworkInterface>;
    packetField: string | core.StringOut;
    port: number | core.NumberOut;
    portRanges: core.Array<PortRanges> | core.ArrayOut<PortRanges>;
    prefixList: core.Array<PrefixList> | core.ArrayOut<PrefixList>;
    protocols: core.Array<string> | core.ArrayOut<core.StringOut>;
    routeTable: core.Array<RouteTable> | core.ArrayOut<RouteTable>;
    routeTableRoute: core.Array<RouteTableRoute> | core.ArrayOut<RouteTableRoute>;
    securityGroup: core.Array<SecurityGroup> | core.ArrayOut<SecurityGroup>;
    securityGroupRule: core.Array<SecurityGroupRule> | core.ArrayOut<SecurityGroupRule>;
    securityGroups: core.Array<SecurityGroups> | core.ArrayOut<SecurityGroups>;
    sourceVpc: core.Array<SourceVpc> | core.ArrayOut<SourceVpc>;
    state: string | core.StringOut;
    subnet: core.Array<Subnet> | core.ArrayOut<Subnet>;
    subnetRouteTable: core.Array<SubnetRouteTable> | core.ArrayOut<SubnetRouteTable>;
    transitGateway: core.Array<TransitGateway> | core.ArrayOut<TransitGateway>;
    transitGatewayAttachment: core.Array<TransitGatewayAttachment> | core.ArrayOut<TransitGatewayAttachment>;
    transitGatewayRouteTable: core.Array<TransitGatewayRouteTable> | core.ArrayOut<TransitGatewayRouteTable>;
    transitGatewayRouteTableRoute: core.Array<TransitGatewayRouteTableRoute> | core.ArrayOut<TransitGatewayRouteTableRoute>;
    vpc: core.Array<Vpc> | core.ArrayOut<Vpc>;
    vpcEndpoint: core.Array<VpcEndpoint> | core.ArrayOut<VpcEndpoint>;
    vpcPeeringConnection: core.Array<VpcPeeringConnection> | core.ArrayOut<VpcPeeringConnection>;
    vpnConnection: core.Array<VpnConnection> | core.ArrayOut<VpnConnection>;
    vpnGateway: core.Array<VpnGateway> | core.ArrayOut<VpnGateway>;
}
export declare class Explanations extends core.Schema<ExplanationsArgs> {
    acl: core.Array<Acl> | core.ArrayOut<Acl>;
    aclRule: core.Array<AclRule> | core.ArrayOut<AclRule>;
    address: string | core.StringOut;
    addresses: core.Array<string> | core.ArrayOut<core.StringOut>;
    attachedTo: core.Array<AttachedTo> | core.ArrayOut<AttachedTo>;
    availabilityZones: core.Array<string> | core.ArrayOut<core.StringOut>;
    cidrs: core.Array<string> | core.ArrayOut<core.StringOut>;
    classicLoadBalancerListener: core.Array<ClassicLoadBalancerListener> | core.ArrayOut<ClassicLoadBalancerListener>;
    component: core.Array<Component> | core.ArrayOut<Component>;
    customerGateway: core.Array<CustomerGateway> | core.ArrayOut<CustomerGateway>;
    destination: core.Array<Destination> | core.ArrayOut<Destination>;
    destinationVpc: core.Array<DestinationVpc> | core.ArrayOut<DestinationVpc>;
    direction: string | core.StringOut;
    elasticLoadBalancerListener: core.Array<ElasticLoadBalancerListener> | core.ArrayOut<ElasticLoadBalancerListener>;
    explanationCode: string | core.StringOut;
    ingressRouteTable: core.Array<IngressRouteTable> | core.ArrayOut<IngressRouteTable>;
    internetGateway: core.Array<InternetGateway> | core.ArrayOut<InternetGateway>;
    loadBalancerArn: string | core.StringOut;
    loadBalancerListenerPort: number | core.NumberOut;
    loadBalancerTargetGroup: core.Array<LoadBalancerTargetGroup> | core.ArrayOut<LoadBalancerTargetGroup>;
    loadBalancerTargetGroups: core.Array<LoadBalancerTargetGroups> | core.ArrayOut<LoadBalancerTargetGroups>;
    loadBalancerTargetPort: number | core.NumberOut;
    missingComponent: string | core.StringOut;
    natGateway: core.Array<NatGateway> | core.ArrayOut<NatGateway>;
    networkInterface: core.Array<NetworkInterface> | core.ArrayOut<NetworkInterface>;
    packetField: string | core.StringOut;
    port: number | core.NumberOut;
    portRanges: core.Array<PortRanges> | core.ArrayOut<PortRanges>;
    prefixList: core.Array<PrefixList> | core.ArrayOut<PrefixList>;
    protocols: core.Array<string> | core.ArrayOut<core.StringOut>;
    routeTable: core.Array<RouteTable> | core.ArrayOut<RouteTable>;
    routeTableRoute: core.Array<RouteTableRoute> | core.ArrayOut<RouteTableRoute>;
    securityGroup: core.Array<SecurityGroup> | core.ArrayOut<SecurityGroup>;
    securityGroupRule: core.Array<SecurityGroupRule> | core.ArrayOut<SecurityGroupRule>;
    securityGroups: core.Array<SecurityGroups> | core.ArrayOut<SecurityGroups>;
    sourceVpc: core.Array<SourceVpc> | core.ArrayOut<SourceVpc>;
    state: string | core.StringOut;
    subnet: core.Array<Subnet> | core.ArrayOut<Subnet>;
    subnetRouteTable: core.Array<SubnetRouteTable> | core.ArrayOut<SubnetRouteTable>;
    transitGateway: core.Array<TransitGateway> | core.ArrayOut<TransitGateway>;
    transitGatewayAttachment: core.Array<TransitGatewayAttachment> | core.ArrayOut<TransitGatewayAttachment>;
    transitGatewayRouteTable: core.Array<TransitGatewayRouteTable> | core.ArrayOut<TransitGatewayRouteTable>;
    transitGatewayRouteTableRoute: core.Array<TransitGatewayRouteTableRoute> | core.ArrayOut<TransitGatewayRouteTableRoute>;
    vpc: core.Array<Vpc> | core.ArrayOut<Vpc>;
    vpcEndpoint: core.Array<VpcEndpoint> | core.ArrayOut<VpcEndpoint>;
    vpcPeeringConnection: core.Array<VpcPeeringConnection> | core.ArrayOut<VpcPeeringConnection>;
    vpnConnection: core.Array<VpnConnection> | core.ArrayOut<VpnConnection>;
    vpnGateway: core.Array<VpnGateway> | core.ArrayOut<VpnGateway>;
}
export interface ForwardPathComponentsArgs extends core.SchemaArgs {
    aclRule: core.Array<AclRule> | core.ArrayOut<AclRule>;
    additionalDetails: core.Array<AdditionalDetails> | core.ArrayOut<AdditionalDetails>;
    attachedTo: core.Array<AttachedTo> | core.ArrayOut<AttachedTo>;
    component: core.Array<Component> | core.ArrayOut<Component>;
    destinationVpc: core.Array<DestinationVpc> | core.ArrayOut<DestinationVpc>;
    inboundHeader: core.Array<InboundHeader> | core.ArrayOut<InboundHeader>;
    outboundHeader: core.Array<OutboundHeader> | core.ArrayOut<OutboundHeader>;
    routeTableRoute: core.Array<RouteTableRoute> | core.ArrayOut<RouteTableRoute>;
    securityGroupRule: core.Array<SecurityGroupRule> | core.ArrayOut<SecurityGroupRule>;
    sequenceNumber: number | core.NumberOut;
    sourceVpc: core.Array<SourceVpc> | core.ArrayOut<SourceVpc>;
    subnet: core.Array<Subnet> | core.ArrayOut<Subnet>;
    transitGateway: core.Array<TransitGateway> | core.ArrayOut<TransitGateway>;
    transitGatewayRouteTableRoute: core.Array<TransitGatewayRouteTableRoute> | core.ArrayOut<TransitGatewayRouteTableRoute>;
    vpc: core.Array<Vpc> | core.ArrayOut<Vpc>;
}
export declare class ForwardPathComponents extends core.Schema<ForwardPathComponentsArgs> {
    aclRule: core.Array<AclRule> | core.ArrayOut<AclRule>;
    additionalDetails: core.Array<AdditionalDetails> | core.ArrayOut<AdditionalDetails>;
    attachedTo: core.Array<AttachedTo> | core.ArrayOut<AttachedTo>;
    component: core.Array<Component> | core.ArrayOut<Component>;
    destinationVpc: core.Array<DestinationVpc> | core.ArrayOut<DestinationVpc>;
    inboundHeader: core.Array<InboundHeader> | core.ArrayOut<InboundHeader>;
    outboundHeader: core.Array<OutboundHeader> | core.ArrayOut<OutboundHeader>;
    routeTableRoute: core.Array<RouteTableRoute> | core.ArrayOut<RouteTableRoute>;
    securityGroupRule: core.Array<SecurityGroupRule> | core.ArrayOut<SecurityGroupRule>;
    sequenceNumber: number | core.NumberOut;
    sourceVpc: core.Array<SourceVpc> | core.ArrayOut<SourceVpc>;
    subnet: core.Array<Subnet> | core.ArrayOut<Subnet>;
    transitGateway: core.Array<TransitGateway> | core.ArrayOut<TransitGateway>;
    transitGatewayRouteTableRoute: core.Array<TransitGatewayRouteTableRoute> | core.ArrayOut<TransitGatewayRouteTableRoute>;
    vpc: core.Array<Vpc> | core.ArrayOut<Vpc>;
}
export interface Ec2NetworkInsightsAnalysisArgs extends core.ResourceArgs {
    filterInArns?: core.Array<string> | core.ArrayOut<core.StringOut>;
    networkInsightsPathId: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    waitForCompletion?: boolean | core.BooleanOut;
}
export declare class Ec2NetworkInsightsAnalysis extends core.Resource<Ec2NetworkInsightsAnalysisArgs> {
    alternatePathHints: core.Array<AlternatePathHints> | core.ArrayOut<AlternatePathHints>;
    arn: string | core.StringOut;
    explanations: core.Array<Explanations> | core.ArrayOut<Explanations>;
    filterInArns?: core.Array<string> | core.ArrayOut<core.StringOut>;
    forwardPathComponents: core.Array<ForwardPathComponents> | core.ArrayOut<ForwardPathComponents>;
    id: string | core.StringOut;
    networkInsightsPathId: string | core.StringOut;
    pathFound: boolean | core.BooleanOut;
    returnPathComponents: core.Array<ReturnPathComponents> | core.ArrayOut<ReturnPathComponents>;
    startDate: string | core.StringOut;
    status: string | core.StringOut;
    statusMessage: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    waitForCompletion?: boolean | core.BooleanOut;
    warningMessage: string | core.StringOut;
    constructor(name: string, args?: Ec2NetworkInsightsAnalysisArgs);
    getNamespace(): string;
}
//# sourceMappingURL=ec2_network_insights_analysis.d.ts.map