/**
* The Location model module.
* @module Ntnx/Location
* @version 4.1.1-beta-1
* @class Location
*
* @param { string } id Unique identifier for the location.
*
* @param { string } label Display label for the location.
*
* @param { Geometry } geometry
*/
export default class Location {
/**
* Constructs a Location 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/Location} obj Optional instance to populate.
* @param callFromChild {Boolean} Flag to recognise calling instance
* @return {module:Ntnx/Location} The populated Location 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 Location.
* A geographic location with coordinates and metadata.
* @alias module:Ntnx/Location
*
* @param { string } id Unique identifier for the location.
*
* @param { string } label Display label for the location.
*
* @param { Geometry } geometry
*/
constructor(id: string, label: string, geometry: Geometry);
id: string;
label: string;
geometry: Geometry;
$objectType: string;
/** @type {object} */
$reserved: object;
/** @type {object} */
$unknownFields: object;
/**
* Returns Unique identifier for the location.
* @return {string}
*/
getId(): string;
/**
* Sets Unique identifier for the location.
* @param {string} id Unique identifier for the location.
*/
setId(id: string): void;
/**
* Returns Display label for the location.
* @return {string}
*/
getLabel(): string;
/**
* Sets Display label for the location.
* @param {string} label Display label for the location.
*/
setLabel(label: string): void;
/**
* Returns Key-value properties associated with the location.
* @return {KVPair[]}
*/
getProperties(): KVPair[];
/**
* Sets Key-value properties associated with the location.
* @param {KVPair[]} properties Key-value properties associated with the location.
*/
setProperties(properties: KVPair[]): void;
properties: KVPair[];
/**
* @return {Geometry}
*/
getGeometry(): Geometry;
/**
* @param {Geometry} geometry
*/
setGeometry(geometry: Geometry): void;
/**
* Returns Child layer containing nested locations.
* @return {Layer}
*/
getChildren(): Layer;
/**
* Sets Child layer containing nested locations.
* @param {Layer} children Child layer containing nested locations.
*/
setChildren(children: Layer): void;
children: Layer;
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 Geometry from "./Geometry";
import KVPair from "../../../common/v1/config/KVPair";
import Layer from "./Layer";
import ValidationError from "../../../validation/ValidationError";