import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Specifies a VPN connection between a virtual private gateway and a VPN customer gateway or a transit gateway and a VPN customer gateway.
 *  To specify a VPN connection between a transit gateway and customer gateway, use the ``TransitGatewayId`` and ``CustomerGatewayId`` properties.
 *  To specify a VPN connection between a virtual private gateway and customer gateway, use the ``VpnGatewayId`` and ``CustomerGatewayId`` properties.
 *  For more information, see [](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) in the *User Guide*.
 */
export declare function getVpnConnection(args: GetVpnConnectionArgs, opts?: pulumi.InvokeOptions): Promise<GetVpnConnectionResult>;
export interface GetVpnConnectionArgs {
    /**
     * The ID of the VPN connection.
     */
    vpnConnectionId: string;
}
export interface GetVpnConnectionResult {
    /**
     * The ID of the customer gateway at your end of the VPN connection.
     */
    readonly customerGatewayId?: string;
    /**
     * Any tags assigned to the VPN connection.
     */
    readonly tags?: outputs.Tag[];
    /**
     * The ID of the transit gateway associated with the VPN connection.
     *  You must specify either ``TransitGatewayId`` or ``VpnGatewayId``, but not both.
     */
    readonly transitGatewayId?: string;
    /**
     * The ID of the VPN connection.
     */
    readonly vpnConnectionId?: string;
    /**
     * The ID of the virtual private gateway at the AWS side of the VPN connection.
     *  You must specify either ``TransitGatewayId`` or ``VpnGatewayId``, but not both.
     */
    readonly vpnGatewayId?: string;
    /**
     * The tunnel options for the VPN connection.
     */
    readonly vpnTunnelOptionsSpecifications?: outputs.ec2.VpnConnectionVpnTunnelOptionsSpecification[];
}
/**
 * Specifies a VPN connection between a virtual private gateway and a VPN customer gateway or a transit gateway and a VPN customer gateway.
 *  To specify a VPN connection between a transit gateway and customer gateway, use the ``TransitGatewayId`` and ``CustomerGatewayId`` properties.
 *  To specify a VPN connection between a virtual private gateway and customer gateway, use the ``VpnGatewayId`` and ``CustomerGatewayId`` properties.
 *  For more information, see [](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) in the *User Guide*.
 */
export declare function getVpnConnectionOutput(args: GetVpnConnectionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetVpnConnectionResult>;
export interface GetVpnConnectionOutputArgs {
    /**
     * The ID of the VPN connection.
     */
    vpnConnectionId: pulumi.Input<string>;
}
