/**
 * The Route model module.
 * @module Ntnx/Route
 * @version 4.0.1
 * @class Route
 * @extends BaseRoute
 *
 * @param { RouteType } routeType
 */
export default class Route extends BaseRoute {
    /**
     * Constructs a new <code>Route</code>.
     * Route of the VPC route table.
     * @alias module:Ntnx/Route
     * @extends module:Ntnx/BaseRoute
     *
     * @param { RouteType } routeType
    */
    constructor(routeType: RouteType);
    routeType: string;
    /**
     * Returns Route table to which this route belongs.
     * @return {string}
     */
    getRouteTableReference(): string;
    /**
     * Sets Route table to which this route belongs.
     * @param {string} routeTableReference Route table to which this route belongs.
     */
    setRouteTableReference(routeTableReference: string): void;
    routeTableReference: string;
    /**
     * Returns VPC to which this route belongs.
     * @return {string}
     */
    getVpcReference(): string;
    /**
     * Sets VPC to which this route belongs.
     * @param {string} vpcReference VPC to which this route belongs.
     */
    setVpcReference(vpcReference: string): void;
    vpcReference: string;
    /**
     * Returns External routing domain to which this route belongs.
     * @return {string}
     */
    getExternalRoutingDomainReference(): string;
    /**
     * Sets External routing domain to which this route belongs.
     * @param {string} externalRoutingDomainReference External routing domain to which this route belongs.
     */
    setExternalRoutingDomainReference(externalRoutingDomainReference: string): void;
    externalRoutingDomainReference: string;
    /**
     * @return {RouteType}
     */
    getRouteType(): RouteType;
    /**
     * @param {RouteType} routeType
     */
    setRouteType(routeType: RouteType): void;
    /**
     * Returns Indicates whether the route is active in the forwarding plane.
     * @return {boolean}
     */
    getIsActive(): boolean;
    /**
     * Sets Indicates whether the route is active in the forwarding plane.
     * @param {boolean} isActive Indicates whether the route is active in the forwarding plane.
     */
    setIsActive(isActive: boolean): void;
    isActive: boolean;
    /**
     * Returns Route priority. A higher value implies greater preference is assigned to the route.
     * @return {Number}
     */
    getPriority(): number;
    /**
     * Sets Route priority. A higher value implies greater preference is assigned to the route.
     * @param {Number} priority Route priority. A higher value implies greater preference is assigned to the route.
     */
    setPriority(priority: number): void;
    priority: number;
    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;
        };
        nexthop?: {
            $reserved: any;
            $objectType: string;
            $unknownFields: any;
            nexthopName?: string;
            nexthopIpAddress?: {
                $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;
                };
            };
            nexthopReference?: string;
            nexthopType?: string;
        };
        destination?: {
            $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;
                };
            };
        };
        description?: string;
        name?: string;
        priority?: number;
        isActive?: boolean;
        routeType?: string;
        externalRoutingDomainReference?: string;
        vpcReference?: string;
        routeTableReference?: string;
    };
    #private;
}
import BaseRoute from "./BaseRoute";
import RouteType from "./RouteType";
