/**
* The IPv4Config model module.
* @module Ntnx/IPv4Config
* @version 4.4.1
* @class IPv4Config
*
* @param { IPv4Subnet } ipSubnet
*/
export default class IPv4Config {
/**
* Constructs a IPv4Config 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/IPv4Config} obj Optional instance to populate.
* @param callFromChild {Boolean} Flag to recognise calling instance
* @return {module:Ntnx/IPv4Config} The populated IPv4Config 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 IPv4Config.
* IP V4 configuration.
* @alias module:Ntnx/IPv4Config
*
* @param { IPv4Subnet } ipSubnet
*/
constructor(ipSubnet: IPv4Subnet);
ipSubnet: IPv4Subnet;
$objectType: string;
/** @type {object} */
$reserved: object;
/** @type {object} */
$unknownFields: object;
/**
* @return {IPv4Subnet}
*/
getIpSubnet(): IPv4Subnet;
/**
* @param {IPv4Subnet} ipSubnet
*/
setIpSubnet(ipSubnet: IPv4Subnet): void;
/**
* @return {IPv4Address}
*/
getDefaultGatewayIp(): IPv4Address;
/**
* @param {IPv4Address} defaultGatewayIp
*/
setDefaultGatewayIp(defaultGatewayIp: IPv4Address): void;
defaultGatewayIp: IPv4Address;
/**
* @return {IPv4Address}
*/
getDhcpServerAddress(): IPv4Address;
/**
* @param {IPv4Address} dhcpServerAddress
*/
setDhcpServerAddress(dhcpServerAddress: IPv4Address): void;
dhcpServerAddress: IPv4Address;
/**
* Returns Pool of IP addresses from where IPs are allocated.
* @return {IPv4Pool[]}
*/
getPoolList(): IPv4Pool[];
/**
* Sets Pool of IP addresses from where IPs are allocated.
* @param {IPv4Pool[]} poolList Pool of IP addresses from where IPs are allocated.
*/
setPoolList(poolList: IPv4Pool[]): void;
poolList: IPv4Pool[];
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 IPv4Subnet from "./IPv4Subnet";
import IPv4Address from "../../../common/v1/config/IPv4Address";
import IPv4Pool from "./IPv4Pool";
import ValidationError from "../../../validation/ValidationError";