import { type FontConfigurationIdentity, type FontRequest, type FontResolution, type FontResolver } from "./font-contract.js"; export interface BrowserFontLimits { fontFiles: number; fontFileBytes: number; fontTotalBytes: number; fontRequests: number; fontSampleCodePoints: number; } export interface BrowserFontResult { identity: FontConfigurationIdentity; resolutions: FontResolution[]; renderedTextNodeCount: number; /** False only for the no-resolver fallback (observedFonts): every resolution is then * `source: "browser"` by construction, which callers must not confuse with a configured * resolver's own `missing` outcome (also `source: "browser"`, but authoritative). */ resolverConfigured: boolean; } export interface BrowserFontTask { pending(): string[]; wait(signal: AbortSignal): Promise; } export declare class BrowserFontError extends Error { readonly kind: "invalid_response" | "resource_limit"; readonly detail?: string; readonly cause?: unknown; constructor(kind: BrowserFontError["kind"], message: string, detail?: string, cause?: unknown); } /** Parse a computed CSS font-family value without splitting quoted or escaped commas. */ export declare function parseCssFontFamily(value: string): string[]; /** Browser-readable request inventory; element associations remain internal. */ export declare function inventoryDocumentFontRequests(document: Document, limits: Pick): FontRequest[]; export declare function createBrowserFontTask(document: Document, resolver: FontResolver | undefined, limits: BrowserFontLimits): BrowserFontTask; //# sourceMappingURL=font-runtime.d.ts.map