import type { Equality } from './types.js'; export interface SelectorStats { readonly hits: number; readonly misses: number; readonly size: number; } export interface SmartSelector { (state: Readonly, ...args: Args): Value; clear(): void; stats(): SelectorStats; } export interface SelectorOptions { readonly capacity?: number; readonly equality?: Equality; readonly onSlowCalculation?: (durationMs: number) => void; readonly slowCalculationMs?: number; } export declare function forgeSelector(inputs: { [Index in keyof Inputs]: (state: Readonly, ...args: Args) => Inputs[Index]; }, calculate: (...inputs: Inputs) => Value, options?: SelectorOptions): SmartSelector; export interface TrackedView { read(state: Readonly): Value; clear(): void; paths(): readonly string[]; } export declare function trackView(calculate: (state: Readonly) => Value, equality?: Equality): TrackedView; //# sourceMappingURL=selectors.d.ts.map