/**
* The Credential model module.
* @module Ntnx/Credential
* @version 4.3.1
* @class Credential
* @param { CredentialReference | VendorManagementCredential } credentialDetail The credential details, provided as either a reference to a pre-created credential in the credential store (CredentialReference) or raw vendor management credentials (VendorManagementCredential).
*
*/
export default class Credential {
/**
* Constructs a Credential 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/Credential} obj Optional instance to populate.
* @param callFromChild {Boolean} Flag to recognise calling instance
* @return {module:Ntnx/Credential} The populated Credential 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 Credential.
* A credential used for performing LCM operations that require authentication with external systems. Can be either a reference to a pre-created credential in the credential store or raw vendor management credentials.
* @alias module:Ntnx/Credential
* @param { CredentialReference | VendorManagementCredential } credentialDetail The credential details, provided as either a reference to a pre-created credential in the credential store (CredentialReference) or raw vendor management credentials (VendorManagementCredential).
*
*/
constructor(credentialDetail: CredentialReference | VendorManagementCredential);
credentialDetail: CredentialReference | VendorManagementCredential;
$objectType: string;
/** @type {object} */
$reserved: object;
/** @type {object} */
$unknownFields: object;
/**
* Returns The credential details, provided as either a reference to a pre-created credential in the credential store (CredentialReference) or raw vendor management credentials (VendorManagementCredential).
* @return {CredentialReference | VendorManagementCredential}
*/
getCredentialDetail(): CredentialReference | VendorManagementCredential;
/**
* Sets The credential details, provided as either a reference to a pre-created credential in the credential store (CredentialReference) or raw vendor management credentials (VendorManagementCredential).
* @param {CredentialReference | VendorManagementCredential} credentialDetail The credential details, provided as either a reference to a pre-created credential in the credential store (CredentialReference) or raw vendor management credentials (VendorManagementCredential).
*/
setCredentialDetail(credentialDetail: CredentialReference | VendorManagementCredential): void;
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 CredentialReference from "./CredentialReference";
import VendorManagementCredential from "./VendorManagementCredential";
import ValidationError from "../../../validation/ValidationError";