/**
 * The RemoteVpnConnection model module.
 * @module Ntnx/RemoteVpnConnection
 * @version 4.0.1
 * @class RemoteVpnConnection
 * @extends VpnConnection
 *
 * @param {  } name VPN connection name
 *
 * @param {  } localGatewayReference The local VPN gateway reference
 *
 * @param {  } remoteGatewayReference The remote VPN gateway reference
 *
 * @param {  } ipsecConfig
 *
 * @param {  } localGatewayRole
 */
export default class RemoteVpnConnection extends VpnConnection {
    /**
     * Constructs a new <code>RemoteVpnConnection</code>.
     * Information about a VPN connection from the specified Prism Central cluster.
     * @alias module:Ntnx/RemoteVpnConnection
     * @extends module:Ntnx/VpnConnection
     *
     * @param {  } name VPN connection name
     *
     * @param {  } localGatewayReference The local VPN gateway reference
     *
     * @param {  } remoteGatewayReference The remote VPN gateway reference
     *
     * @param {  } ipsecConfig
     *
     * @param {  } localGatewayRole
    */
    constructor(name: any, localGatewayReference: any, remoteGatewayReference: any, ipsecConfig: any, localGatewayRole: any);
    /**
     * Returns Reference to the remote Prism Element cluster where the VPN connection's gateway is located.
     * @return {string}
     */
    getClusterReference(): string;
    /**
     * Sets Reference to the remote Prism Element cluster where the VPN connection's gateway is located.
     * @param {string} clusterReference Reference to the remote Prism Element cluster where the VPN connection's gateway is located.
     */
    setClusterReference(clusterReference: string): void;
    clusterReference: string;
    /**
     * Returns Name of the remote Prism Element cluster where the VPN connection's gateway is located.
     * @return {string}
     */
    getClusterName(): string;
    /**
     * Sets Name of the remote Prism Element cluster where the VPN connection's gateway is located.
     * @param {string} clusterName Name of the remote Prism Element cluster where the VPN connection's gateway is located.
     */
    setClusterName(clusterName: string): void;
    clusterName: string;
    /**
     * Returns Reference to the VPC associated with the VPN connection.
     * @return {string}
     */
    getVpcReference(): string;
    /**
     * Sets Reference to the VPC associated with the VPN connection.
     * @param {string} vpcReference Reference to the VPC associated with the VPN connection.
     */
    setVpcReference(vpcReference: string): void;
    vpcReference: string;
    /**
     * Returns Name of the VPC associated with the VPN connection.
     * @return {string}
     */
    getVpcName(): string;
    /**
     * Sets Name of the VPC associated with the VPN connection.
     * @param {string} vpcName Name of the VPC associated with the VPN connection.
     */
    setVpcName(vpcName: string): void;
    vpcName: string;
    toJson(forMutation: any): {
        $reserved: any;
        $objectType: string;
        $unknownFields: any;
        tenantId?: string;
        links?: {
            $reserved: any;
            $objectType: string;
            $unknownFields: any;
            rel?: string;
            href?: string;
        }[];
        extId?: string;
        metadata?: {
            $reserved: any;
            $objectType: string;
            $unknownFields: any;
            categoryIds?: string[];
            projectName?: string;
            projectReferenceId?: string;
            ownerUserName?: string;
            ownerReferenceId?: string;
        };
        ebgpStatus?: {
            $reserved: any;
            $objectType: string;
            $unknownFields: any;
            state?: string;
            message?: string;
        };
        ipsecTunnelStatus?: {
            $reserved: any;
            $objectType: string;
            $unknownFields: any;
            state?: string;
            message?: string;
        };
        learnedPrefixes?: {
            $reserved: any;
            $objectType: string;
            $unknownFields: any;
            ipv6?: {
                $reserved: any;
                $objectType: string;
                $unknownFields: any;
                prefixLength?: number;
                ip?: {
                    $reserved: any;
                    $objectType: string;
                    $unknownFields: any;
                    prefixLength?: number;
                    value?: string;
                };
            };
            ipv4?: {
                $reserved: any;
                $objectType: string;
                $unknownFields: any;
                prefixLength?: number;
                ip?: {
                    $reserved: any;
                    $objectType: string;
                    $unknownFields: any;
                    prefixLength?: number;
                    value?: string;
                };
            };
        }[];
        advertisedPrefixes?: {
            $reserved: any;
            $objectType: string;
            $unknownFields: any;
            ipv6?: {
                $reserved: any;
                $objectType: string;
                $unknownFields: any;
                prefixLength?: number;
                ip?: {
                    $reserved: any;
                    $objectType: string;
                    $unknownFields: any;
                    prefixLength?: number;
                    value?: string;
                };
            };
            ipv4?: {
                $reserved: any;
                $objectType: string;
                $unknownFields: any;
                prefixLength?: number;
                ip?: {
                    $reserved: any;
                    $objectType: string;
                    $unknownFields: any;
                    prefixLength?: number;
                    value?: string;
                };
            };
        }[];
        dynamicRoutePriority?: number;
        localGatewayRole?: string;
        qosConfig?: {
            $reserved: any;
            $objectType: string;
            $unknownFields: any;
            egressLimitMbps?: number;
            ingressLimitMbps?: number;
        };
        dpdConfig?: {
            $reserved: any;
            $objectType: string;
            $unknownFields: any;
            timeoutSecs?: number;
            intervalSecs?: number;
            operation?: string;
        };
        ipsecConfig?: {
            $reserved: any;
            $objectType: string;
            $unknownFields: any;
            ipsecAuthenticationAlgorithm?: string;
            ipsecEncryptionAlgorithm?: string;
            ikeAuthenticationAlgorithm?: string;
            ikeEncryptionAlgorithm?: string;
            espPfsDhGroupNumber?: number;
            ipsecLifetimeSecs?: number;
            ikeLifetimeSecs?: number;
            remoteAuthenticationId?: string;
            localAuthenticationId?: string;
            remoteVtiIp?: {
                $reserved: any;
                $objectType: string;
                $unknownFields: any;
                ipv6?: {
                    $reserved: any;
                    $objectType: string;
                    $unknownFields: any;
                    prefixLength?: number;
                    value?: string;
                };
                ipv4?: {
                    $reserved: any;
                    $objectType: string;
                    $unknownFields: any;
                    prefixLength?: number;
                    value?: string;
                };
            };
            localVtiIp?: {
                $reserved: any;
                $objectType: string;
                $unknownFields: any;
                ipv6?: {
                    $reserved: any;
                    $objectType: string;
                    $unknownFields: any;
                    prefixLength?: number;
                    value?: string;
                };
                ipv4?: {
                    $reserved: any;
                    $objectType: string;
                    $unknownFields: any;
                    prefixLength?: number;
                    value?: string;
                };
            };
            preSharedKey?: string;
        };
        remoteGatewayReference?: string;
        localGatewayReference?: string;
        description?: string;
        name?: string;
        vpcName?: string;
        vpcReference?: string;
        clusterName?: string;
        clusterReference?: string;
    };
    #private;
}
import VpnConnection from "./VpnConnection";
