/**
* The BundleSpec model module.
* @module Ntnx/BundleSpec
* @version 4.3.1
* @class BundleSpec
*
* @param { BundleType } bundleType
*
* @param { BundleTarget } target
*/
export default class BundleSpec {
/**
* Constructs a BundleSpec 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/BundleSpec} obj Optional instance to populate.
* @param callFromChild {Boolean} Flag to recognise calling instance
* @return {module:Ntnx/BundleSpec} The populated BundleSpec 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 BundleSpec.
* A model that represents a bundle spec (PLATFORM or APPLICATION type) to be published to MSP. The bundleType field determines which other fields are required.
* @alias module:Ntnx/BundleSpec
*
* @param { BundleType } bundleType
*
* @param { BundleTarget } target
*/
constructor(bundleType: BundleType, target: BundleTarget);
bundleType: BundleType;
target: BundleTarget;
$objectType: string;
/** @type {object} */
$reserved: object;
/** @type {object} */
$unknownFields: object;
/**
* @return {BundleType}
*/
getBundleType(): BundleType;
/**
* @param {BundleType} bundleType
*/
setBundleType(bundleType: BundleType): void;
/**
* Returns Array of bundle items, each containing URI and checksum information. Required for PLATFORM bundles, optional for APPLICATION bundles.
* @return {BundleItem[]}
*/
getBundles(): BundleItem[];
/**
* Sets Array of bundle items, each containing URI and checksum information. Required for PLATFORM bundles, optional for APPLICATION bundles.
* @param {BundleItem[]} bundles Array of bundle items, each containing URI and checksum information. Required for PLATFORM bundles, optional for APPLICATION bundles.
*/
setBundles(bundles: BundleItem[]): void;
bundles: BundleItem[];
/**
* @return {BundleTarget}
*/
getTarget(): BundleTarget;
/**
* @param {BundleTarget} target
*/
setTarget(target: BundleTarget): void;
/**
* @return {BundleMetadata}
*/
getBundleMetadata(): BundleMetadata;
/**
* @param {BundleMetadata} bundleMetadata
*/
setBundleMetadata(bundleMetadata: BundleMetadata): void;
bundleMetadata: BundleMetadata;
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 BundleTarget from "./BundleTarget";
import BundleItem from "./BundleItem";
import BundleMetadata from "./BundleMetadata";
import ValidationError from "../../../validation/ValidationError";