/**
* The AzureExternalSubnetConfig model module.
* @module Ntnx/AzureExternalSubnetConfig
* @version 4.4.1
* @class AzureExternalSubnetConfig
*
* @param { IPConfig } ipConfig
*/
export default class AzureExternalSubnetConfig {
/**
* Constructs a AzureExternalSubnetConfig from a plain JavaScript object, optionally creating a new instance.
* Copies all relevant properties from data to obj if supplied or a new instance if not.
* @param {Object} data The plain JavaScript object bearing properties of interest.
* @param {module:Ntnx/AzureExternalSubnetConfig} obj Optional instance to populate.
* @param callFromChild {Boolean} Flag to recognise calling instance
* @return {module:Ntnx/AzureExternalSubnetConfig} The populated AzureExternalSubnetConfig instance.
*/
static constructFromObject(data: any, obj?: any, callFromChild?: boolean): any;
/**
* Converts a given snake_case string to camelCase.
* @param {string} snakeStr - The input string in snake_case format.
* @returns {string} - The converted string in camelCase format.
*/
static snakeToCamel(snakeStr: string): string;
/**
* Constructs a new AzureExternalSubnetConfig.
* The external subnet configuration for the Azure cloud.
* @alias module:Ntnx/AzureExternalSubnetConfig
*
* @param { IPConfig } ipConfig
*/
constructor(ipConfig: IPConfig);
ipConfig: IPConfig;
$objectType: string;
/** @type {object} */
$reserved: object;
/** @type {object} */
$unknownFields: object;
/**
* @return {IPConfig}
*/
getIpConfig(): IPConfig;
/**
* @param {IPConfig} ipConfig
*/
setIpConfig(ipConfig: IPConfig): void;
/**
* Returns Gateway MAC address of the external subnet.
* @return {string}
*/
getGatewayMacAddress(): string;
/**
* Sets Gateway MAC address of the external subnet.
* @param {string} gatewayMacAddress Gateway MAC address of the external subnet.
*/
setGatewayMacAddress(gatewayMacAddress: string): void;
gatewayMacAddress: string;
/**
* Returns List of mappings of private IP (SNAT or floating IP) to public IP.
* @return {PublicIpMapping[]}
*/
getPublicIpMappingList(): PublicIpMapping[];
/**
* Sets List of mappings of private IP (SNAT or floating IP) to public IP.
* @param {PublicIpMapping[]} publicIpMappingList List of mappings of private IP (SNAT or floating IP) to public IP.
*/
setPublicIpMappingList(publicIpMappingList: PublicIpMapping[]): void;
publicIpMappingList: PublicIpMapping[];
get$Reserved(): any;
get$ObjectType(): string;
get$UnknownFields(): any;
toJson(forMutation: any): any;
validate(scope: any, properties: any, ...args: any[]): Promise;
validateProperty(scope: any, property: any): ValidationError;
#private;
}
import IPConfig from "./IPConfig";
import PublicIpMapping from "./PublicIpMapping";
import ValidationError from "../../../validation/ValidationError";