import { Trie } from "@wry/trie"; export { bindContext, noContext, nonReactive, setTimeout, asyncFromGen, } from "./context.js"; export { dep, OptimisticDependencyFunction } from "./dep.js"; export declare function defaultMakeCacheKey(...args: any[]): object; export { Trie as KeyTrie }; export type OptimisticWrapperFunction = ((...args: TArgs) => TResult) & { readonly size: number; options: OptimisticWrapOptions; dirty: (...args: TKeyArgs) => void; dirtyKey: (key: TCacheKey) => void; peek: (...args: TKeyArgs) => TResult | undefined; peekKey: (key: TCacheKey) => TResult | undefined; forget: (...args: TKeyArgs) => boolean; forgetKey: (key: TCacheKey) => boolean; getKey: (...args: TArgs) => TCacheKey; makeCacheKey: (...args: TKeyArgs) => TCacheKey; }; export type OptimisticWrapOptions = { max?: number; keyArgs?: (...args: TArgs) => TKeyArgs; makeCacheKey?: (...args: TKeyArgs) => TCacheKey; subscribe?: (...args: TArgs) => void | (() => any); }; export declare function wrap(originalFunction: (...args: TArgs) => TResult, { max, makeCacheKey, keyArgs, subscribe, }?: OptimisticWrapOptions): OptimisticWrapperFunction;