import * as core from "@terrascript/core";
export interface VgwTelemetryArgs extends core.SchemaArgs {
    acceptedRouteCount: number | core.NumberOut;
    certificateArn: string | core.StringOut;
    lastStatusChange: string | core.StringOut;
    outsideIpAddress: string | core.StringOut;
    status: string | core.StringOut;
    statusMessage: string | core.StringOut;
}
export declare class VgwTelemetry extends core.Schema<VgwTelemetryArgs> {
    acceptedRouteCount: number | core.NumberOut;
    certificateArn: string | core.StringOut;
    lastStatusChange: string | core.StringOut;
    outsideIpAddress: string | core.StringOut;
    status: string | core.StringOut;
    statusMessage: string | core.StringOut;
}
export interface RoutesArgs extends core.SchemaArgs {
    destinationCidrBlock: string | core.StringOut;
    source: string | core.StringOut;
    state: string | core.StringOut;
}
export declare class Routes extends core.Schema<RoutesArgs> {
    destinationCidrBlock: string | core.StringOut;
    source: string | core.StringOut;
    state: string | core.StringOut;
}
export interface ConnectionArgs extends core.ResourceArgs {
    customerGatewayId: string | core.StringOut;
    enableAcceleration?: boolean | core.BooleanOut;
    localIpv4NetworkCidr?: string | core.StringOut;
    localIpv6NetworkCidr?: string | core.StringOut;
    outsideIpAddressType?: string | core.StringOut;
    remoteIpv4NetworkCidr?: string | core.StringOut;
    remoteIpv6NetworkCidr?: string | core.StringOut;
    staticRoutesOnly?: boolean | core.BooleanOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    transitGatewayId?: string | core.StringOut;
    transportTransitGatewayAttachmentId?: string | core.StringOut;
    tunnel1DpdTimeoutAction?: string | core.StringOut;
    tunnel1DpdTimeoutSeconds?: number | core.NumberOut;
    tunnel1IkeVersions?: core.Array<string> | core.ArrayOut<core.StringOut>;
    tunnel1InsideCidr?: string | core.StringOut;
    tunnel1InsideIpv6Cidr?: string | core.StringOut;
    tunnel1Phase1DhGroupNumbers?: core.Array<number> | core.ArrayOut<core.NumberOut>;
    tunnel1Phase1EncryptionAlgorithms?: core.Array<string> | core.ArrayOut<core.StringOut>;
    tunnel1Phase1IntegrityAlgorithms?: core.Array<string> | core.ArrayOut<core.StringOut>;
    tunnel1Phase1LifetimeSeconds?: number | core.NumberOut;
    tunnel1Phase2DhGroupNumbers?: core.Array<number> | core.ArrayOut<core.NumberOut>;
    tunnel1Phase2EncryptionAlgorithms?: core.Array<string> | core.ArrayOut<core.StringOut>;
    tunnel1Phase2IntegrityAlgorithms?: core.Array<string> | core.ArrayOut<core.StringOut>;
    tunnel1Phase2LifetimeSeconds?: number | core.NumberOut;
    tunnel1PresharedKey?: string | core.StringOut;
    tunnel1RekeyFuzzPercentage?: number | core.NumberOut;
    tunnel1RekeyMarginTimeSeconds?: number | core.NumberOut;
    tunnel1ReplayWindowSize?: number | core.NumberOut;
    tunnel1StartupAction?: string | core.StringOut;
    tunnel2DpdTimeoutAction?: string | core.StringOut;
    tunnel2DpdTimeoutSeconds?: number | core.NumberOut;
    tunnel2IkeVersions?: core.Array<string> | core.ArrayOut<core.StringOut>;
    tunnel2InsideCidr?: string | core.StringOut;
    tunnel2InsideIpv6Cidr?: string | core.StringOut;
    tunnel2Phase1DhGroupNumbers?: core.Array<number> | core.ArrayOut<core.NumberOut>;
    tunnel2Phase1EncryptionAlgorithms?: core.Array<string> | core.ArrayOut<core.StringOut>;
    tunnel2Phase1IntegrityAlgorithms?: core.Array<string> | core.ArrayOut<core.StringOut>;
    tunnel2Phase1LifetimeSeconds?: number | core.NumberOut;
    tunnel2Phase2DhGroupNumbers?: core.Array<number> | core.ArrayOut<core.NumberOut>;
    tunnel2Phase2EncryptionAlgorithms?: core.Array<string> | core.ArrayOut<core.StringOut>;
    tunnel2Phase2IntegrityAlgorithms?: core.Array<string> | core.ArrayOut<core.StringOut>;
    tunnel2Phase2LifetimeSeconds?: number | core.NumberOut;
    tunnel2PresharedKey?: string | core.StringOut;
    tunnel2RekeyFuzzPercentage?: number | core.NumberOut;
    tunnel2RekeyMarginTimeSeconds?: number | core.NumberOut;
    tunnel2ReplayWindowSize?: number | core.NumberOut;
    tunnel2StartupAction?: string | core.StringOut;
    tunnelInsideIpVersion?: string | core.StringOut;
    type: string | core.StringOut;
    vpnGatewayId?: string | core.StringOut;
}
export declare class Connection extends core.Resource<ConnectionArgs> {
    arn: string | core.StringOut;
    coreNetworkArn: string | core.StringOut;
    coreNetworkAttachmentArn: string | core.StringOut;
    customerGatewayConfiguration: string | core.StringOut;
    customerGatewayId: string | core.StringOut;
    enableAcceleration?: boolean | core.BooleanOut;
    id: string | core.StringOut;
    localIpv4NetworkCidr?: string | core.StringOut;
    localIpv6NetworkCidr?: string | core.StringOut;
    outsideIpAddressType?: string | core.StringOut;
    remoteIpv4NetworkCidr?: string | core.StringOut;
    remoteIpv6NetworkCidr?: string | core.StringOut;
    routes: core.Array<Routes> | core.ArrayOut<Routes>;
    staticRoutesOnly?: boolean | core.BooleanOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    transitGatewayAttachmentId: string | core.StringOut;
    transitGatewayId?: string | core.StringOut;
    transportTransitGatewayAttachmentId?: string | core.StringOut;
    tunnel1Address: string | core.StringOut;
    tunnel1BgpAsn: string | core.StringOut;
    tunnel1BgpHoldtime: number | core.NumberOut;
    tunnel1CgwInsideAddress: string | core.StringOut;
    tunnel1DpdTimeoutAction?: string | core.StringOut;
    tunnel1DpdTimeoutSeconds?: number | core.NumberOut;
    tunnel1IkeVersions?: core.Array<string> | core.ArrayOut<core.StringOut>;
    tunnel1InsideCidr?: string | core.StringOut;
    tunnel1InsideIpv6Cidr?: string | core.StringOut;
    tunnel1Phase1DhGroupNumbers?: core.Array<number> | core.ArrayOut<core.NumberOut>;
    tunnel1Phase1EncryptionAlgorithms?: core.Array<string> | core.ArrayOut<core.StringOut>;
    tunnel1Phase1IntegrityAlgorithms?: core.Array<string> | core.ArrayOut<core.StringOut>;
    tunnel1Phase1LifetimeSeconds?: number | core.NumberOut;
    tunnel1Phase2DhGroupNumbers?: core.Array<number> | core.ArrayOut<core.NumberOut>;
    tunnel1Phase2EncryptionAlgorithms?: core.Array<string> | core.ArrayOut<core.StringOut>;
    tunnel1Phase2IntegrityAlgorithms?: core.Array<string> | core.ArrayOut<core.StringOut>;
    tunnel1Phase2LifetimeSeconds?: number | core.NumberOut;
    tunnel1PresharedKey?: string | core.StringOut;
    tunnel1RekeyFuzzPercentage?: number | core.NumberOut;
    tunnel1RekeyMarginTimeSeconds?: number | core.NumberOut;
    tunnel1ReplayWindowSize?: number | core.NumberOut;
    tunnel1StartupAction?: string | core.StringOut;
    tunnel1VgwInsideAddress: string | core.StringOut;
    tunnel2Address: string | core.StringOut;
    tunnel2BgpAsn: string | core.StringOut;
    tunnel2BgpHoldtime: number | core.NumberOut;
    tunnel2CgwInsideAddress: string | core.StringOut;
    tunnel2DpdTimeoutAction?: string | core.StringOut;
    tunnel2DpdTimeoutSeconds?: number | core.NumberOut;
    tunnel2IkeVersions?: core.Array<string> | core.ArrayOut<core.StringOut>;
    tunnel2InsideCidr?: string | core.StringOut;
    tunnel2InsideIpv6Cidr?: string | core.StringOut;
    tunnel2Phase1DhGroupNumbers?: core.Array<number> | core.ArrayOut<core.NumberOut>;
    tunnel2Phase1EncryptionAlgorithms?: core.Array<string> | core.ArrayOut<core.StringOut>;
    tunnel2Phase1IntegrityAlgorithms?: core.Array<string> | core.ArrayOut<core.StringOut>;
    tunnel2Phase1LifetimeSeconds?: number | core.NumberOut;
    tunnel2Phase2DhGroupNumbers?: core.Array<number> | core.ArrayOut<core.NumberOut>;
    tunnel2Phase2EncryptionAlgorithms?: core.Array<string> | core.ArrayOut<core.StringOut>;
    tunnel2Phase2IntegrityAlgorithms?: core.Array<string> | core.ArrayOut<core.StringOut>;
    tunnel2Phase2LifetimeSeconds?: number | core.NumberOut;
    tunnel2PresharedKey?: string | core.StringOut;
    tunnel2RekeyFuzzPercentage?: number | core.NumberOut;
    tunnel2RekeyMarginTimeSeconds?: number | core.NumberOut;
    tunnel2ReplayWindowSize?: number | core.NumberOut;
    tunnel2StartupAction?: string | core.StringOut;
    tunnel2VgwInsideAddress: string | core.StringOut;
    tunnelInsideIpVersion?: string | core.StringOut;
    type: string | core.StringOut;
    vgwTelemetry: core.Array<VgwTelemetry> | core.ArrayOut<VgwTelemetry>;
    vpnGatewayId?: string | core.StringOut;
    constructor(name: string, args?: ConnectionArgs);
    getNamespace(): string;
}
//# sourceMappingURL=connection.d.ts.map