/**
* The Layout model module.
* @module Ntnx/Layout
* @version 4.1.1-beta-1
* @class Layout
*
* @param { LayoutType } type
*/
export default class Layout {
/**
* Constructs a Layout 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/Layout} obj Optional instance to populate.
* @param callFromChild {Boolean} Flag to recognise calling instance
* @return {module:Ntnx/Layout} The populated Layout 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 Layout.
* Layout of the widgets in the dashboard. Maximum allowed nesting level is 2
* @alias module:Ntnx/Layout
*
* @param { LayoutType } type
*/
constructor(type: LayoutType);
type: string;
$objectType: string;
/** @type {object} */
$reserved: object;
/** @type {object} */
$unknownFields: object;
/**
* Returns Name of the layout in the dashboard.
* @return {string}
*/
getHeading(): string;
/**
* Sets Name of the layout in the dashboard.
* @param {string} heading Name of the layout in the dashboard.
*/
setHeading(heading: string): void;
heading: string;
/**
* @return {LayoutType}
*/
getType(): LayoutType;
/**
* @param {LayoutType} type
*/
setType(type: LayoutType): void;
/**
* Returns Bounds of the widget in the dashboard.
* @return {Bounds[]}
*/
getBounds(): Bounds[];
/**
* Sets Bounds of the widget in the dashboard.
* @param {Bounds[]} bounds Bounds of the widget in the dashboard.
*/
setBounds(bounds: Bounds[]): void;
bounds: Bounds[];
/**
* Returns List of nodes in the dashboard.
* @return {Node[]}
*/
getNodes(): Node[];
/**
* Sets List of nodes in the dashboard.
* @param {Node[]} nodes List of nodes in the dashboard.
*/
setNodes(nodes: Node[]): void;
nodes: Node[];
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 LayoutType from "./LayoutType";
import Bounds from "./Bounds";
import Node from "./Node";
import ValidationError from "../../../validation/ValidationError";