import { Selector, SubscribableStore } from '../../types'; type TrackedInvocation = { args: unknown[] | undefined; }; type PathEntry = { path: string[]; store: SubscribableStore; invocation?: TrackedInvocation; isLeaf: boolean; }; type SubscriptionBuilder = (store: SubscribableStore, selector: Selector, path: string[]) => void; export type PathFinder = { buildProxySubscriptions(createSubscription: SubscriptionBuilder, shouldLog: boolean, minConsolidationDepth?: number, shouldBuild?: (paths: Set) => boolean): void; reset(): void; trackPath: TrackPathFn; }; export type TrackPathFn = (store: SubscribableStore, path: string[], isLeaf: boolean, invocation?: TrackedInvocation) => void; /** * A factory that returns a proxy path-tracking object with three methods: * - `buildProxySubscriptions()`: builds subscriptions to the final paths * - `reset()`: clears all tracked paths * - `trackPath()`: records usage of a store path */ export declare function createPathFinder(): PathFinder; export {}; //# sourceMappingURL=pathFinder.d.ts.map