/**
 * The GatewayProjection model module.
 * @module Ntnx/GatewayProjection
 * @version 4.0.1
 * @class GatewayProjection
 * @extends Gateway
 */
export default class GatewayProjection extends Gateway {
    /**
     * @return {VpcProjection}
     */
    getVpcProjection(): VpcProjection;
    /**
     * @param {VpcProjection} vpcProjection
     */
    setVpcProjection(vpcProjection: VpcProjection): void;
    vpcProjection: VpcProjection;
    /**
     * @return {VmProjection}
     */
    getVmProjection(): VmProjection;
    /**
     * @param {VmProjection} vmProjection
     */
    setVmProjection(vmProjection: VmProjection): void;
    vmProjection: VmProjection;
    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;
        };
        vm?: {
            $reserved: any;
            $objectType: string;
            $unknownFields: any;
            name?: 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;
        };
        status?: {
            $reserved: any;
            $objectType: string;
            $unknownFields: any;
            state?: string;
            message?: string;
        };
        services?: any;
        gatewayDeviceVendor?: string;
        deployment?: {
            $reserved: any;
            $objectType: string;
            $unknownFields: any;
            vcenterDatastoreName?: string;
            interfaces?: {
                $reserved: any;
                $objectType: string;
                $unknownFields: any;
                mtu?: number;
                macAddress?: string;
                defaultGatewayAddress?: {
                    $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;
                    };
                };
                ipAddress?: {
                    $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;
            }[];
            managementInterface?: {
                $reserved: any;
                $objectType: string;
                $unknownFields: any;
                mtu?: number;
                defaultGateway?: {
                    $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;
                    };
                };
                address?: {
                    $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;
                    };
                };
                vlanId?: number;
                subnetReference?: string;
            };
            clusterReference?: string;
        };
        vmReference?: string;
        supportedSoftwareVersion?: string;
        installedSoftwareVersion?: string;
        cloudNetworkReference?: string;
        vpcReference?: string;
        description?: string;
        name?: string;
        vmProjection?: {
            $reserved: any;
            $objectType: string;
            $unknownFields: any;
            name?: string;
        };
        vpcProjection?: {
            $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;
        };
    };
    #private;
}
import Gateway from "./Gateway";
import VpcProjection from "./VpcProjection";
import VmProjection from "./VmProjection";
