import { FlowBlock, Measure, ParagraphBlock } from '../../contracts/src/index.js'; export type FootnoteRange = { kind: 'paragraph'; blockId: string; fromLine: number; toLine: number; totalLines: number; height: number; spacingAfter: number; } | { kind: 'list-item'; blockId: string; itemId: string; fromLine: number; toLine: number; totalLines: number; height: number; spacingAfter: number; } | { kind: 'table' | 'image' | 'drawing'; blockId: string; height: number; }; export type FootnoteSlice = { id: string; pageIndex: number; columnIndex: number; isContinuation: boolean; ranges: FootnoteRange[]; totalHeight: number; }; export declare const getParagraphSpacingAfter: (block: ParagraphBlock) => number; export declare const resolveSeparatorSpacingBefore: (rangesByFootnoteId: ReadonlyMap, measuresById: ReadonlyMap, explicitValue: number | undefined, fallbackValue: number) => number; export declare const getRangeRenderHeight: (range: FootnoteRange) => number; export declare const buildFootnoteRanges: (blocks: readonly FlowBlock[], measuresById: ReadonlyMap) => FootnoteRange[]; export declare const fitFootnoteContent: (id: string, inputRanges: readonly FootnoteRange[], availableHeight: number, pageIndex: number, columnIndex: number, isContinuation: boolean, measuresById: ReadonlyMap, forceFirstRange: boolean) => { slice: FootnoteSlice; remainingRanges: FootnoteRange[]; };