import type { MathSpeechResolver } from "./assemble-plan.js";
export interface MathSpeechCacheOptions {
    maxEntries?: number;
    /** Underlying resolver; defaults to the real SRE call. Injectable for tests. */
    resolve?: MathSpeechResolver;
}
/**
 * Build a memoized {@link MathSpeechResolver}.
 *
 * Caches only DOM-free spoken-text results keyed by
 * `(SRE version, locale, output mode, SRE mathSpeech options, MathML source)`.
 * Never caches DOM nodes or maps. Bounded by a simple LRU so long sessions do
 * not grow unbounded.
 */
export declare const createMemoizedMathSpeechResolver: (options?: MathSpeechCacheOptions) => MathSpeechResolver;
