import { JsonBlockEvaluator, toAuthoredBlockPointer, type BlockEvaluatorOptions } from '@json-to-office/shared'; export { blockSlotBudgets, blockSlotRoles } from '@json-to-office/shared'; export type { BlockSlotBudget, BlockSourceMap, ExpandedBlocks, } from '@json-to-office/shared'; import type { ExpandedBlocks } from '@json-to-office/shared'; import type { ThemeConfig } from '../styles'; type Rec = Record; export declare const toAuthoredPointer: typeof toAuthoredBlockPointer; /** One source line the document cites, and the slot it was written in. */ export interface DocumentSourceLine { text: string; path: string; } /** * Every `source`-role slot value in document order, once per distinct text — * what a "Notes and sources" block lists. Read from the authored invocations * and their definitions; a block nested inside another's body is not in the * authored document and so is not counted twice. One walk per expansion: * callers compute it once and hand it to every context they build. */ export declare function documentSourceLines(document: unknown): DocumentSourceLine[]; /** General document state and page geometry. No report design is registered here. */ export declare function docxBlockContext(document: unknown, theme: ThemeConfig, path: string, sources: readonly DocumentSourceLine[]): Rec; /** Where each context value was authored, for findings that land on it. */ export declare function docxBlockContextSources(sources: readonly DocumentSourceLine[]): Record; export declare function createDocxBlockEvaluator(document: unknown, theme: ThemeConfig, extra?: Partial, sources?: readonly DocumentSourceLine[]): JsonBlockEvaluator; export declare function expandBlocks(document: T, theme: ThemeConfig): ExpandedBlocks; /** The plugin host supplies registered code; JSON itself never loads code. */ export declare function expandBlocksWithPlugins(document: T, theme: ThemeConfig, plugins: ReadonlySet, render: (component: Rec, path: string) => Promise, preserve?: ReadonlySet): Promise & { preserved: T; }>; //# sourceMappingURL=document.d.ts.map