import type { TokenLibraryDocument } from './contracts.js'; import type { ResolvedTokenText } from './valueResolver.js'; export type TokenLibraryTextResolver = (tokenId: string, modeId: string) => ResolvedTokenText; export interface TokenLibraryPreviewContext { document: TokenLibraryDocument; modeId: string; resolve: TokenLibraryTextResolver; } export interface TokenLibraryCacheOptions { createResolver(document: TokenLibraryDocument): TokenLibraryTextResolver; createPreview(context: TokenLibraryPreviewContext): Preview; } export interface TokenLibraryCache { resolver(document: TokenLibraryDocument): TokenLibraryTextResolver; preview(document: TokenLibraryDocument, modeId: string): Preview; /** Invalidate callbacks' external baseline inputs; previously returned resolvers remain usable. */ clear(): void; } /** Cache immutable document snapshots by object identity without retaining discarded snapshots. */ export declare function createTokenLibraryCache(options: TokenLibraryCacheOptions): TokenLibraryCache;