/**
 * The NetworkCloudConfig model module.
 * @module Ntnx/NetworkCloudConfig
 * @version 4.0.1
 * @class NetworkCloudConfig
 * @extends NetworkingBaseModel
 */
export default class NetworkCloudConfig extends NetworkingBaseModel {
    /**
     * @return {AzureConfig}
     */
    getAzureConfig(): AzureConfig;
    /**
     * @param {AzureConfig} azureConfig
     */
    setAzureConfig(azureConfig: AzureConfig): void;
    azureConfig: AzureConfig;
    /**
     * @return {AwsConfig}
     */
    getAwsConfig(): AwsConfig;
    /**
     * @param {AwsConfig} awsConfig
     */
    setAwsConfig(awsConfig: AwsConfig): void;
    awsConfig: AwsConfig;
    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;
        };
        awsConfig?: {
            $reserved: any;
            $objectType: string;
            $unknownFields: any;
            externalSubnetConfigList?: {
                $reserved: any;
                $objectType: string;
                $unknownFields: any;
                clusterReference?: string;
                awsSubnetConfig?: {
                    $reserved: any;
                    $objectType: string;
                    $unknownFields: any;
                    vpcReference?: string;
                    securityGroupReferenceList?: string[];
                    subnetReference?: string;
                    gatewayIpAddress?: {
                        $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;
                        };
                    };
                    cidr?: string;
                };
            }[];
        };
        azureConfig?: {
            $reserved: any;
            $objectType: string;
            $unknownFields: any;
            authorizationData?: {
                $reserved: any;
                $objectType: string;
                $unknownFields: any;
                subscriptionId?: string;
                expiryTimeSeconds?: number;
                token?: string;
                tenantId?: string;
                clientId?: string;
            };
            isScaleOut?: boolean;
            bgpInfo?: {
                $reserved: any;
                $objectType: string;
                $unknownFields: any;
                remoteBgpGatewayList?: {
                    $reserved: any;
                    $objectType: string;
                    $unknownFields: any;
                    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;
                        };
                    };
                    asn?: number;
                }[];
                localBgpGatewayList?: {
                    $reserved: any;
                    $objectType: string;
                    $unknownFields: any;
                    vnicIpPrefixLength?: number;
                    vnicList?: {
                        $reserved: any;
                        $objectType: string;
                        $unknownFields: any;
                        macAddress?: 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;
                            };
                        };
                        index?: number;
                    }[];
                    asn?: number;
                }[];
            };
            externalRoutingDomainUuidList?: string[];
            externalSubnetConfigList?: {
                $reserved: any;
                $objectType: string;
                $unknownFields: any;
                publicIpMappingList?: {
                    $reserved: any;
                    $objectType: string;
                    $unknownFields: any;
                    publicIp?: {
                        $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;
                        };
                    };
                    privateIp?: {
                        $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;
                        };
                    };
                }[];
                gatewayMacAddress?: 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;
                            };
                        };
                    };
                };
            }[];
        };
    };
    #private;
}
import NetworkingBaseModel from "./NetworkingBaseModel";
import AzureConfig from "./AzureConfig";
import AwsConfig from "./AwsConfig";
