import { FlowBlock, Fragment, Measure } from '../../contracts/src/index.js';
/**
 * Subset of HeaderFooterConstraints needed for fragment normalization.
 * Defined locally to avoid circular imports with index.ts.
 */
export type RegionConstraints = {
    pageHeight?: number;
    margins?: {
        left: number;
        right: number;
        top?: number;
        bottom?: number;
        header?: number;
        footer?: number;
    };
};
/**
 * Post-normalize page-relative anchored fragment Y positions in footer layout.
 *
 * Problem: The inner `layoutDocument()` uses body content height as its page
 * height. For page-relative anchors with bottom/center alignment, this produces
 * incorrect Y positions because the real physical page is much taller.
 *
 * Solution: After layout, rewrite each page-relative anchored fragment's Y
 * using the real physical page height, then convert to footer-band-local
 * coordinates (where y=0 = top of the bottom margin area).
 *
 * Only affects `vRelativeFrom === 'page'` anchored image/drawing fragments.
 * Paragraphs, inline images, and margin-relative anchors pass through unchanged.
 */
export declare function normalizeFragmentsForRegion(pages: Array<{
    number: number;
    fragments: Fragment[];
}>, blocks: FlowBlock[], _measures: Measure[], _kind: 'header' | 'footer', constraints: RegionConstraints): Array<{
    number: number;
    fragments: Fragment[];
}>;
//# sourceMappingURL=normalize-header-footer-fragments.d.ts.map