interface TraversalFnOptions { /** * Remove symbol to return to remove the value */ removeSymbol?: symbol; /** * index of the array, when looping on the elements */ index?: number; } type TraversalFn = (key: string, value: any, options: TraversalFnOptions) => any; /** * Creates a JSON walker function that can be used to traverse and transform * the properties of a JSON object. * * @param fn - The callback function called for each property in the JSON object. * @returns A function that takes a JSON object as input and applies the provided * callback function to each property. * * @example * ```typescript * const json = { * name: 'John', * age: 30, * address: { * city: 'New York', * country: 'USA', * }, * useless: '', * }; * * const transform = createTraversal((key, value, {removeSymbol}) => { * if (key === 'age') { * return value * 2; // Double the age * } * if (key === 'useless') { * return removeSymbol; * } * return value; * }); * * const transformedJson = transform(json); * ``` */ export declare function createTraversal(fn: TraversalFn): (json: any) => any; /** * Utility method to create a promise with resolve * @returns a promise with resolve */ export declare const promiseWithResolve: () => { promise: Promise; resolve: (value: void | Promise) => void; }; export {};