import { type Opt } from "./optional"; export declare function createCyclicMemo(compute: (key: K) => R, cycleAnswer: R): (key: K) => R; export declare function createAnalysisMemo(compute: (key: K) => R, cycleAnswer: R): readonly [(key: K) => R, () => void]; export declare function createPassMemo(compute: (key: K) => R, cycleAnswer: R): (key: K) => R; export declare function resetPassMemos(): void; type MemoPath = Opt | true; export declare function createPassPathMemo(compute: (key: K, path: MemoPath) => R, cycleAnswer: R): (key: K, path: MemoPath) => R; export {};