/**
 * The FloatingIp model module.
 * @module Ntnx/FloatingIp
 * @version 4.0.1
 * @class FloatingIp
 * @extends NetworkingBaseModel
 *
 * @param { string } name Name of the floating IP.
 */
export default class FloatingIp extends NetworkingBaseModel {
    /**
     * Constructs a new <code>FloatingIp</code>.
     * Configure a floating IP.
     * @alias module:Ntnx/FloatingIp
     * @extends module:Ntnx/NetworkingBaseModel
     *
     * @param { string } name Name of the floating IP.
    */
    constructor(name: string);
    name: string;
    /**
     * Returns Name of the floating IP.
     * @return {string}
     */
    getName(): string;
    /**
     * Sets Name of the floating IP.
     * @param {string} name Name of the floating IP.
     */
    setName(name: string): void;
    /**
     * Returns Description for the Floating IP.
     * @return {string}
     */
    getDescription(): string;
    /**
     * Sets Description for the Floating IP.
     * @param {string} description Description for the Floating IP.
     */
    setDescription(description: string): void;
    description: string;
    /**
     * Returns Association of the Floating IP with either NIC or Private IP
     * @return {VmNicAssociation | PrivateIpAssociation | LoadBalancerSessionAssociation}
     */
    getAssociation(): VmNicAssociation | PrivateIpAssociation | LoadBalancerSessionAssociation;
    /**
     * Sets Association of the Floating IP with either NIC or Private IP
     * @param {VmNicAssociation | PrivateIpAssociation | LoadBalancerSessionAssociation} association Association of the Floating IP with either NIC or Private IP
     */
    setAssociation(association: VmNicAssociation | PrivateIpAssociation | LoadBalancerSessionAssociation): void;
    association: LoadBalancerSessionAssociation | PrivateIpAssociation | VmNicAssociation;
    /**
     * @return {FloatingIPAddress}
     */
    getFloatingIp(): FloatingIPAddress;
    /**
     * @param {FloatingIPAddress} floatingIp
     */
    setFloatingIp(floatingIp: FloatingIPAddress): void;
    floatingIp: FloatingIPAddress;
    /**
     * Returns External subnet reference for the Floating IP to be allocated in on-prem only.
     * @return {string}
     */
    getExternalSubnetReference(): string;
    /**
     * Sets External subnet reference for the Floating IP to be allocated in on-prem only.
     * @param {string} externalSubnetReference External subnet reference for the Floating IP to be allocated in on-prem only.
     */
    setExternalSubnetReference(externalSubnetReference: string): void;
    externalSubnetReference: string;
    /**
     * @return {Subnet}
     */
    getExternalSubnet(): Subnet;
    /**
     * @param {Subnet} externalSubnet
     */
    setExternalSubnet(externalSubnet: Subnet): void;
    externalSubnet: Subnet;
    /**
     * Returns Private IP value in string
     * @return {string}
     */
    getPrivateIp(): string;
    /**
     * Sets Private IP value in string
     * @param {string} privateIp Private IP value in string
     */
    setPrivateIp(privateIp: string): void;
    privateIp: string;
    /**
     * Returns Floating IP value in string
     * @return {string}
     */
    getFloatingIpValue(): string;
    /**
     * Sets Floating IP value in string
     * @param {string} floatingIpValue Floating IP value in string
     */
    setFloatingIpValue(floatingIpValue: string): void;
    floatingIpValue: string;
    /**
     * Returns Association status of floating IP.
     * @return {string}
     */
    getAssociationStatus(): string;
    /**
     * Sets Association status of floating IP.
     * @param {string} associationStatus Association status of floating IP.
     */
    setAssociationStatus(associationStatus: string): void;
    associationStatus: string;
    /**
     * Returns VPC reference UUID
     * @return {string}
     */
    getVpcReference(): string;
    /**
     * Sets VPC reference UUID
     * @param {string} vpcReference VPC reference UUID
     */
    setVpcReference(vpcReference: string): void;
    vpcReference: string;
    /**
     * Returns VM NIC reference.
     * @return {string}
     */
    getVmNicReference(): string;
    /**
     * Sets VM NIC reference.
     * @param {string} vmNicReference VM NIC reference.
     */
    setVmNicReference(vmNicReference: string): void;
    vmNicReference: string;
    /**
     * Returns Load Balancer Session reference UUID.
     * @return {string}
     */
    getLoadBalancerSessionReference(): string;
    /**
     * Sets Load Balancer Session reference UUID.
     * @param {string} loadBalancerSessionReference Load Balancer Session reference UUID.
     */
    setLoadBalancerSessionReference(loadBalancerSessionReference: string): void;
    loadBalancerSessionReference: string;
    /**
     * @return {Vpc}
     */
    getVpc(): Vpc;
    /**
     * @param {Vpc} vpc
     */
    setVpc(vpc: Vpc): void;
    vpc: Vpc;
    /**
     * @return {VmNic}
     */
    getVmNic(): VmNic;
    /**
     * @param {VmNic} vmNic
     */
    setVmNic(vmNic: VmNic): void;
    vmNic: VmNic;
    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;
        };
        vmNic?: {
            $reserved: any;
            $objectType: string;
            $unknownFields: any;
            privateIp?: string;
        };
        vpc?: {
            $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;
            };
            externallyRoutablePrefixes?: {
                $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;
                    };
                };
            }[];
            externalRoutingDomainReference?: string;
            externalSubnets?: {
                $reserved: any;
                $objectType: string;
                $unknownFields: any;
                activeGatewayCount?: number;
                activeGatewayNodes?: {
                    $reserved: any;
                    $objectType: string;
                    $unknownFields: any;
                    nodeIpAddress?: {
                        $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;
                        };
                    };
                    nodeId?: string;
                }[];
                gatewayNodes?: string[];
                externalIps?: {
                    $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;
                    };
                }[];
                subnetReference?: string;
            }[];
            snatIps?: {
                $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;
                };
            }[];
            commonDhcpOptions?: {
                $reserved: any;
                $objectType: string;
                $unknownFields: any;
                domainNameServers?: {
                    $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;
                    };
                }[];
            };
            vpcType?: string;
            description?: string;
            name?: string;
        };
        loadBalancerSessionReference?: string;
        vmNicReference?: string;
        vpcReference?: string;
        associationStatus?: string;
        floatingIpValue?: string;
        privateIp?: string;
        externalSubnet?: {
            $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;
            };
            migrationState?: string;
            ipUsage?: {
                $reserved: any;
                $objectType: string;
                $unknownFields: any;
                ipPoolUsages?: {
                    $reserved: any;
                    $objectType: string;
                    $unknownFields: any;
                    range?: {
                        $reserved: any;
                        $objectType: string;
                        $unknownFields: any;
                        endIp?: {
                            $reserved: any;
                            $objectType: string;
                            $unknownFields: any;
                            prefixLength?: number;
                            value?: string;
                        };
                        startIp?: {
                            $reserved: any;
                            $objectType: string;
                            $unknownFields: any;
                            prefixLength?: number;
                            value?: string;
                        };
                    };
                    numTotalIPs?: number;
                    numFreeIPs?: number;
                }[];
                numAssignedIPs?: number;
                numFreeIPs?: number;
                numMacs?: number;
            };
            ipPrefix?: string;
            vpc?: {
                $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;
                };
                externallyRoutablePrefixes?: {
                    $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;
                        };
                    };
                }[];
                externalRoutingDomainReference?: string;
                externalSubnets?: {
                    $reserved: any;
                    $objectType: string;
                    $unknownFields: any;
                    activeGatewayCount?: number;
                    activeGatewayNodes?: {
                        $reserved: any;
                        $objectType: string;
                        $unknownFields: any;
                        nodeIpAddress?: {
                            $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;
                            };
                        };
                        nodeId?: string;
                    }[];
                    gatewayNodes?: string[];
                    externalIps?: {
                        $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;
                        };
                    }[];
                    subnetReference?: string;
                }[];
                snatIps?: {
                    $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;
                    };
                }[];
                commonDhcpOptions?: {
                    $reserved: any;
                    $objectType: string;
                    $unknownFields: any;
                    domainNameServers?: {
                        $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;
                        };
                    }[];
                };
                vpcType?: string;
                description?: string;
                name?: string;
            };
            virtualSwitch?: {
                $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;
                };
                hasDeleteInProgress?: boolean;
                hasUpdateInProgress?: boolean;
                ownerType?: string;
                igmpSpec?: {
                    $reserved: any;
                    $objectType: string;
                    $unknownFields: any;
                    snoopingTimeout?: number;
                    querierSpec?: {
                        $reserved: any;
                        $objectType: string;
                        $unknownFields: any;
                        vlanIdList?: integer[];
                        isQuerierEnabled?: boolean;
                    };
                    isSnoopingEnabled?: boolean;
                };
                clusters?: {
                    $reserved: any;
                    $objectType: string;
                    $unknownFields: any;
                    gatewayIpAddress?: {
                        $reserved: any;
                        $objectType: string;
                        $unknownFields: any;
                        prefixLength?: number;
                        value?: string;
                    };
                    hosts?: {
                        $reserved: any;
                        $objectType: string;
                        $unknownFields: any;
                        routeTable?: number;
                        ipAddress?: {
                            $reserved: any;
                            $objectType: string;
                            $unknownFields: any;
                            prefixLength?: number;
                            ip?: {
                                $reserved: any;
                                $objectType: string;
                                $unknownFields: any;
                                prefixLength?: number;
                                value?: string;
                            };
                        };
                        hostNics?: string[];
                        internalBridgeName?: string;
                        extId?: string;
                    }[];
                    extId?: string;
                }[];
                bondMode?: string;
                mtu?: number;
                hasDeploymentError?: boolean;
                isQuickMode?: boolean;
                isDefault?: boolean;
                description?: string;
                name?: string;
            };
            hypervisorType?: string;
            clusterName?: string;
            isAdvancedNetworking?: boolean;
            bridgeName?: string;
            networkFunctionChainReference?: string;
            dynamicIpAddresses?: {
                $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;
                };
            }[];
            reservedIpAddresses?: {
                $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;
                };
            }[];
            isExternal?: boolean;
            isNatEnabled?: boolean;
            vpcReference?: string;
            virtualSwitchReference?: string;
            clusterReference?: string;
            ipConfig?: {
                $reserved: any;
                $objectType: string;
                $unknownFields: any;
                ipv6?: {
                    $reserved: any;
                    $objectType: string;
                    $unknownFields: any;
                    poolList?: {
                        $reserved: any;
                        $objectType: string;
                        $unknownFields: any;
                        endIp?: {
                            $reserved: any;
                            $objectType: string;
                            $unknownFields: any;
                            prefixLength?: number;
                            value?: string;
                        };
                        startIp?: {
                            $reserved: any;
                            $objectType: string;
                            $unknownFields: any;
                            prefixLength?: number;
                            value?: string;
                        };
                    }[];
                    dhcpServerAddress?: {
                        $reserved: any;
                        $objectType: string;
                        $unknownFields: any;
                        prefixLength?: number;
                        value?: string;
                    };
                    defaultGatewayIp?: {
                        $reserved: any;
                        $objectType: string;
                        $unknownFields: any;
                        prefixLength?: number;
                        value?: string;
                    };
                    ipSubnet?: {
                        $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;
                    poolList?: {
                        $reserved: any;
                        $objectType: string;
                        $unknownFields: any;
                        endIp?: {
                            $reserved: any;
                            $objectType: string;
                            $unknownFields: any;
                            prefixLength?: number;
                            value?: string;
                        };
                        startIp?: {
                            $reserved: any;
                            $objectType: string;
                            $unknownFields: any;
                            prefixLength?: number;
                            value?: string;
                        };
                    }[];
                    dhcpServerAddress?: {
                        $reserved: any;
                        $objectType: string;
                        $unknownFields: any;
                        prefixLength?: number;
                        value?: string;
                    };
                    defaultGatewayIp?: {
                        $reserved: any;
                        $objectType: string;
                        $unknownFields: any;
                        prefixLength?: number;
                        value?: string;
                    };
                    ipSubnet?: {
                        $reserved: any;
                        $objectType: string;
                        $unknownFields: any;
                        prefixLength?: number;
                        ip?: {
                            $reserved: any;
                            $objectType: string;
                            $unknownFields: any;
                            prefixLength?: number;
                            value?: string;
                        };
                    };
                };
            }[];
            dhcpOptions?: {
                $reserved: any;
                $objectType: string;
                $unknownFields: any;
                ntpServers?: {
                    $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;
                    };
                }[];
                bootFileName?: string;
                tftpServerName?: string;
                searchDomains?: string[];
                domainName?: string;
                domainNameServers?: {
                    $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;
                    };
                }[];
            };
            networkId?: number;
            subnetType?: string;
            description?: string;
            name?: string;
        };
        externalSubnetReference?: string;
        floatingIp?: {
            $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;
            };
        };
        association?: any;
        description?: string;
        name?: string;
    };
    #private;
}
import NetworkingBaseModel from "./NetworkingBaseModel";
import VmNicAssociation from "./VmNicAssociation";
import PrivateIpAssociation from "./PrivateIpAssociation";
import LoadBalancerSessionAssociation from "./LoadBalancerSessionAssociation";
import FloatingIPAddress from "./FloatingIPAddress";
import Subnet from "./Subnet";
import Vpc from "./Vpc";
import VmNic from "./VmNic";
