import { State } from '../../shared/State'; import { IdObjectSkeletonInterface, PagedResult } from '../ApiTypes'; /** * Variable types * * @summary * You can use the expressionType parameter to set a type when you create an ESV variable. * This lets Identity Cloud correctly transform the value of the ESV * to match the configuration property type when substituting it into configuration. * * The type is set when the ESV is created, and cannot be modified after creation. * If you do not specify a type, it will default to string. * * Before the expressionType parameter was introduced, it was only possible to set types * from within configuration, using expression level syntax; for example, * {"$int": "&{esv.journey.ldap.port|1389}"}. * The expressionType parameter supplements this expression level syntax and allows the * ESV type to be identified without inspecting configuration. * * @see * {@link https://backstage.forgerock.com/docs/idcloud/latest/tenants/esvs.html#variable_types | ForgeRock Documentation} */ export type VariableExpressionType = 'array' | 'base64encodedinlined' | 'bool' | 'int' | 'keyvaluelist' | 'list' | 'number' | 'object' | 'string'; /** * Variable object skeleton */ export type VariableSkeleton = IdObjectSkeletonInterface & { valueBase64?: string; value?: string; description?: string; loaded?: boolean; lastChangedBy?: string; lastChangeDate?: string; expressionType?: VariableExpressionType; }; /** * Get all variables * @returns {Promise>} a promise that resolves to an array of variable objects */ export declare function getVariables({ state, }: { state: State; }): Promise>; /** * Get variable by id/name * @param {string} variableId variable id/name * @returns {Promise} a promise that resolves to a variable object */ export declare function getVariable({ variableId, state, }: { variableId: string; state: State; }): Promise; /** * Create or update variable by id/name * @param {string} variableId variable id/name * @param {string} valueBase64 base64-encoded variable value * @param {string} description variable description * @returns {Promise} a promise that resolves to a variable object */ export declare function putVariable({ variableId, valueBase64, description, expressionType, state, }: { variableId: string; valueBase64: string; description?: string; expressionType?: VariableExpressionType; state: State; }): Promise; /** * Set variable description * @param {string} variableId variable id/name * @param {string} description variable description * @returns {Promise} a promise that resolves to an empty string. */ export declare function setVariableDescription({ variableId, description, state, }: { variableId: string; description: string; state: State; }): Promise; /** * Delete variable by id/name * @param {string} variableId variable id/name * @returns {Promise} a promise that resolves to a variable object */ export declare function deleteVariable({ variableId, state, }: { variableId: string; state: State; }): Promise; //# sourceMappingURL=VariablesApi.d.ts.map