import type { ContentBlock, ScoreBlockInfo } from '../parse/types.js'; import type { VDTResourceScore, VDTScoreInfo } from '../vdt.js'; import type { Resource } from '../types.js'; import type { ResolvedConfig } from '../vdt.js'; import type { ResolvedScoreStyleConfig } from '../types.js'; import type { BlockStyle } from './styles.js'; import type { ScoreRenderOptions } from '../music/types.js'; /** Whether parsed content holds a score: the host starts the engraver. */ export declare function blocksHaveScore(blocks: readonly ContentBlock[]): boolean; /** The style a score fence picks with `style="…"`. */ export declare function scoreStyleOf(block: ContentBlock, resolved: ResolvedConfig): ResolvedScoreStyleConfig; export declare function scoreRenderOptions(style: ResolvedScoreStyleConfig, resolved: ResolvedConfig): ScoreRenderOptions; /** * Expand each `score` block into one block per engraved system, laid out * `widthPx` wide. A block keeps the fence's source range; the systems after * the first carry an empty one at its end. */ export declare function expandScoreBlocks(blocks: readonly ContentBlock[], resolved: ResolvedConfig, widthPx: number): { blocks: ContentBlock[]; expanded: boolean; }; /** A score resource's body (#1172): its systems engraved `widthPx` wide * and stacked with the style's system gap. */ export declare function layoutScoreResource(resource: Resource, resolved: ResolvedConfig, widthPx: number): { width: number; height: number; score: VDTResourceScore; }; /** Block style of one system: the score's margins above its first system * and below its last, the system gap between two. */ export declare function resolveScoreBlockStyle(block: ContentBlock, resolved: ResolvedConfig): BlockStyle; /** What a VDT block keeps of its score: its system's place, and on the * first system the alt text (the fence's `alt`, else the title and * composer read from the notation). */ export declare function scoreInfoOf(score: ScoreBlockInfo): VDTScoreInfo; /** * The room the systems kept with the one at `blockIdx` need (#1173): from * the first system, the first `minSystemsAtBreak`; from the one that opens * the last `minSystemsAtBreak`, all of them. Undefined for any other system, * or a score too short to break (fewer than twice the minimum: it moves * whole, the first system keeping them all). */ export declare function scoreKeepHeight(blocks: readonly ContentBlock[], blockIdx: number, resolved: ResolvedConfig): number | undefined; //# sourceMappingURL=scoreBlocks.d.ts.map