import type { Copyable, Watch, StateRefsTuple, CombinedValue } from '../types'; import type { Lens } from '../lens'; export declare const DEFAULT_WATCH_OPTION: { cache: boolean; editable: boolean; }; export declare const DEFAULT_CREATE_OPTION: { autoSync: boolean; }; /** * Create information about the proxy that can be viewed in the developer console. */ export declare function makeDisplayProxyValue(depthList: (string | number | symbol)[], value: unknown): { _navi: string; _type: string; _value: string; }; /** * Convert a path array into a unique, collision-resistant string key. * - Supports strings, numbers, and Symbols. * - Prefixes each element with a type marker: * - 's:' for string * - 'n:' for number * - 'y:' for Symbol (unique ID via Map) * - Escapes special characters in strings. * - Joins all elements with '|' to form a flat key string. * * Example: * ["user", Symbol("id"), 42] -> "s:user|y:1|n:42" */ export declare function keyFromDepthList(path: (string | number | symbol)[]): string; /** * We provide a convenience utility to make it easy to create data when "copyOnWrite" is required. */ export declare function copyable(origObj: T, lensInit?: Lens): Copyable; /** * Provides a convenience utility to make deep copying easier in special cases. */ export declare function cloneDeep(value: T): T; /** * Combines multiple state watchers to produce a derived (computed) value, * and invokes the provided callback whenever the computed value changes. */ export declare function createComputed[], R>(watches: W, callback: (a: StateRefsTuple) => R): (computedCallback?: ((proxy: { value: R; }, isFirst: boolean) => void) | undefined) => { value: R; }; /** * Observes multiple Watch instances together and triggers a callback * whenever any of them changes. The callback receives the current * StateRefStore values of all watches and a boolean indicating * whether this is the first invocation. */ export declare function combineWatch[]>(watches: [...W]): Watch>;