import * as $dara from '@darabonba/typescript';
export declare class ModifyTunnelAttributeResponseBodyTunnelBgpConfig extends $dara.Model {
    /**
     * @remarks
     * Indicates whether the BGP feature is enabled. Valid values:
     *
     * *   **true**
     * *   **false**
     *
     * @example
     * true
     */
    enableBgp?: boolean;
    /**
     * @remarks
     * The local ASN.
     *
     * @example
     * 65530
     */
    localAsn?: number;
    /**
     * @remarks
     * The BGP IP address of the tunnel.
     *
     * @example
     * 169.254.11.1
     */
    localBgpIp?: string;
    /**
     * @remarks
     * The peer ASN.
     *
     * @example
     * 65531
     */
    peerAsn?: number;
    /**
     * @remarks
     * The BGP IP address of the peer.
     *
     * @example
     * 169.254.11.2
     */
    peerBgpIp?: string;
    /**
     * @remarks
     * The CIDR block to which the tunnel BGP IP address belongs.
     *
     * @example
     * 169.254.11.0/30
     */
    tunnelCidr?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ModifyTunnelAttributeResponseBodyTunnelIkeConfig extends $dara.Model {
    /**
     * @remarks
     * The IKE authentication algorithm.
     *
     * @example
     * sha1
     */
    ikeAuthAlg?: string;
    /**
     * @remarks
     * The IKE encryption algorithm.
     *
     * @example
     * aes
     */
    ikeEncAlg?: string;
    /**
     * @remarks
     * The IKE lifetime. Unit: seconds.
     *
     * @example
     * 86400
     */
    ikeLifetime?: number;
    /**
     * @remarks
     * The IKE negotiation mode.
     *
     * *   **main:** This mode offers higher security during negotiations.
     * *   **aggressive**: This mode is faster and has a higher success rate.
     *
     * @example
     * main
     */
    ikeMode?: string;
    /**
     * @remarks
     * The DH group.
     *
     * @example
     * group2
     */
    ikePfs?: string;
    /**
     * @remarks
     * The IKE version.
     *
     * *   **ikev1**
     * *   **ikev2**
     *
     * Compared with IKEv1, IKEv2 simplifies the SA negotiation process and provides better support for scenarios with multiple CIDR blocks.
     *
     * @example
     * ikev2
     */
    ikeVersion?: string;
    /**
     * @remarks
     * The tunnel identifier. The identifier supports FQDNs and IP addresses. The default value is the tunnel IP address.
     *
     * @example
     * 47.XX.XX.87
     */
    localId?: string;
    /**
     * @remarks
     * The pre-shared key.
     *
     * @example
     * 123456****
     */
    psk?: string;
    /**
     * @remarks
     * The peer identifier. The identifier supports FQDNs and IP addresses. The default identifier is the IP address of the customer gateway associated with the tunnel.
     *
     * @example
     * 47.XX.XX.207
     */
    remoteId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ModifyTunnelAttributeResponseBodyTunnelIpsecConfig extends $dara.Model {
    /**
     * @remarks
     * The IPsec authentication algorithm.
     *
     * @example
     * sha1
     */
    ipsecAuthAlg?: string;
    /**
     * @remarks
     * The IPsec encryption algorithm.
     *
     * @example
     * aes
     */
    ipsecEncAlg?: string;
    /**
     * @remarks
     * The IPsec lifetime. Unit: seconds.
     *
     * @example
     * 86400
     */
    ipsecLifetime?: number;
    /**
     * @remarks
     * The DH group.
     *
     * @example
     * group2
     */
    ipsecPfs?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ModifyTunnelAttributeResponseBody extends $dara.Model {
    /**
     * @remarks
     * The ID of the customer gateway associated with the customer gateway.
     *
     * @example
     * cgw-p0wx48ayhrygitm80****
     */
    customerGatewayId?: string;
    /**
     * @remarks
     * Indicates whether DPD is enabled. Valid values:
     *
     * *   **false**
     * *   **true**
     *
     * @example
     * true
     */
    enableDpd?: boolean;
    /**
     * @remarks
     * Indicates whether NAT traversal is enabled. Valid values:
     *
     * *   **false**
     * *   **true**
     *
     * @example
     * true
     */
    enableNatTraversal?: boolean;
    /**
     * @remarks
     * The tunnel IP address.
     *
     * @example
     * 47.XX.XX.87
     */
    internetIp?: string;
    /**
     * @remarks
     * The peer CA certificate when a VPN gateway that uses an SM certificate is used to create the IPsec connection.
     *
     * @example
     * -----BEGIN CERTIFICATE----- MIIB7zCCAZW**** -----END CERTIFICATE-----
     */
    remoteCaCertificate?: string;
    /**
     * @remarks
     * The request ID.
     *
     * @example
     * E6F36FF0-9544-3AEE-8673-A4647D50064C
     */
    requestId?: string;
    /**
     * @remarks
     * The tunnel role. Valid values:
     *
     * *   **master**
     * *   **slave**
     *
     * @example
     * master
     */
    role?: string;
    /**
     * @remarks
     * The tunnel status. Valid values:
     *
     * *   **active**
     * *   **updating**
     * *   **deleting**
     *
     * @example
     * active
     */
    state?: string;
    /**
     * @remarks
     * The BGP configuration.
     */
    tunnelBgpConfig?: ModifyTunnelAttributeResponseBodyTunnelBgpConfig;
    /**
     * @remarks
     * The tunnel ID.
     *
     * @example
     * tun-gbyz2e070xzo93****
     */
    tunnelId?: string;
    /**
     * @remarks
     * The Phase 1 configuration.
     */
    tunnelIkeConfig?: ModifyTunnelAttributeResponseBodyTunnelIkeConfig;
    /**
     * @remarks
     * The configurations of IPsec Phase 2.
     */
    tunnelIpsecConfig?: ModifyTunnelAttributeResponseBodyTunnelIpsecConfig;
    /**
     * @remarks
     * The tunnel zone.
     *
     * @example
     * cn-hangzhou-h
     */
    zoneNo?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
