import { IContext, IContextBase, IDelegatedParameters, IPushTo, IAssignTo } from '../interfaces'; import { ActionSnapshot } from '../models'; export declare class ContextUtil { private static OBJECT_PATH_REGEX; private static FIELD_PATH_REGEX; private static REFERENCE_REGEX; /** * Assign value based on paths * @param {IContext} context * @param {IDelegatedParameters} parameters * @param {ActionSnapshot} snapshot * @param {IAssignTo | string} paths * @param value * @param {boolean} override * @return {void} */ static assignTo(context: IContext, parameters: IDelegatedParameters, snapshot: ActionSnapshot, paths: IAssignTo | string, value: any): void; /** * Push value based on paths * @param {IContext} context * @param {IDelegatedParameters} parameters * @param {ActionSnapshot} snapshot * @param {IPushTo | string} paths * @param value * @return {Promise} */ static pushTo(context: IContext, parameters: IDelegatedParameters, snapshot: ActionSnapshot, paths: IPushTo | string, value: any): void; /** * Push value or its child objects to obj by given path * @param {{[p: string]: any}} obj * @param {string} path * @param value * @param {boolean} children * @param {boolean} override * @return {void} */ static push(obj: { [key: string]: any; }, path: string, value: any, children: boolean, override?: boolean): void; /** * Find target by given path * @param {{[p: string]: any}} path * @param {string} leaf * @return {{target: any; parent: {[p: string]: any}; key: string; subPath: string}} */ private static findTargetByPath; /** * Assign value to context's object * @param obj * @param {string} path * @param value * @param {boolean} [override] * @returns {void} */ static assign(obj: { [key: string]: any; }, path: string, value: any, override: boolean): void; /** * Find value at given path * @param obj * @param path */ static getValueAtPath(obj: { [key: string]: any; }, path: string): any; /** * Assign value to context object's field * @param {object} obj * @param {string} path * @param value * @param override * @return {void} */ static assignToField(obj: { [key: string]: any; }, path: string, value: any, override: boolean): void; /** * Add child properties based on path if they're not presented. * @param obj * @param path */ static instantiateObjectPath(obj: { [key: string]: any; }, path: string): void; /** * Get parent path of given one * @param path * @returns parent path relative to given one */ static getParentPath(path: string): string; /** * Sanitize context from sensitive and unnecessary fields * @param {IContext} context * @return {IContextBase} */ static toBase(context: IContext): IContextBase; /** * Generate empty context * @return {IContext} */ static generateEmptyContext(): IContext; /** * Resolve $ref:.path references * @param options * @param context * @param parameters */ static resolveReferences(options: any, context: IContext, parameters: IDelegatedParameters): any; }