import type { ResolvedTokenReference, TokenLibraryDiagnostic, TokenLibraryDocument, TokenValueResolution } from './contracts.js'; export interface TokenValueReferenceRange { start: number; end: number; /** Must be one of the resolution's declared references. */ reference: ResolvedTokenReference; } export interface TokenValueResolverOptions { /** Extend a reference's replacement range to host-owned surrounding syntax, such as a function call. */ referenceRanges?(resolution: TokenValueResolution): readonly TokenValueReferenceRange[]; } export interface ResolvedTokenText { status: 'resolved' | 'blocked'; text?: string; resolution?: TokenValueResolution; diagnostics: readonly TokenLibraryDiagnostic[]; } /** Resolves a captured library's declared reference graph and caches text by token and requested mode. */ export declare function createTokenValueResolver(input: TokenLibraryDocument, options?: TokenValueResolverOptions): (tokenId: string, modeId: string) => ResolvedTokenText;