/** * Shared font-resolution helper used by BOTH entry paths into renderDocument: * * - generator.ts → generateDocumentWithCustomThemes (non-plugin) * - plugin/createDocumentGenerator.ts → generate (plugin-aware) * * Keeping it in one place ensures the two paths behave identically around * validation, SAFE_FONTS awareness, Google Fonts materialization, and the * `onResolved` side-channel consumed by the LibreOffice preview font stager. * * Materialization has two triggers: an `onResolved` listener, or the * caller's `forceMaterialize` flag (set when the document contains a * `visual`, whose PNG is produced by an out-of-process LibreOffice that * needs real font files). Both entry paths return the resolved fonts so the * caller can forward them to the rasterizer. */ import type { FontRuntimeOpts, ResolvedFont, GenerationWarning } from '@json-to-office/shared'; import type { ThemeConfig } from '../styles'; import type { ReportComponentDefinition } from '../types'; export declare function resolveDocumentFonts(document: ReportComponentDefinition, theme: ThemeConfig, fonts?: FontRuntimeOpts, warnings?: GenerationWarning[], /** * Materialize font bytes even when no `onResolved` listener is registered. * Set by the callers when the document contains at least one `visual`, * whose PNG is rendered by an out-of-process LibreOffice that needs the * actual font files — there is no listener on the plain CLI path, so * without this a visual-bearing build silently renders with fallbacks. */ forceMaterialize?: boolean): Promise; //# sourceMappingURL=fontResolution.d.ts.map