export type HeaderFooterKind = 'header' | 'footer'; export type HeaderFooterVariant = 'default' | 'first' | 'even' | 'odd'; export type HeaderFooterSectionRefs = Partial>; export type HeaderFooterResolutionSection = { sectionIndex: number; titlePg?: boolean; headerRefs?: HeaderFooterSectionRefs | null; footerRefs?: HeaderFooterSectionRefs | null; }; export type HeaderFooterVariantSelectionInput = { documentPageNumber: number; sectionPageNumber: number; titlePg?: boolean; alternateHeaders?: boolean; }; export type HeaderFooterEffectiveRefInput = { sections: readonly HeaderFooterResolutionSection[]; sectionIndex: number; kind: HeaderFooterKind; variant: HeaderFooterVariant; }; export type HeaderFooterEffectiveRefResult = { refId: string; matchedSectionIndex: number; matchedVariant: HeaderFooterVariant; }; /** * Ordered, snapshot-backed resolver for repeated header/footer lookups. * Runtime section updates must go through `updateSection` so cached inherited * results cannot outlive a reference change. */ export declare class HeaderFooterResolutionIndex { #private; constructor(sections: readonly HeaderFooterResolutionSection[]); get revision(): number; hasAny(kind: HeaderFooterKind): boolean; resolve(sectionIndex: number, kind: HeaderFooterKind, variant: HeaderFooterVariant): HeaderFooterEffectiveRefResult | null; updateSection(section: HeaderFooterResolutionSection): boolean; } export declare function createHeaderFooterResolutionIndex(sections: readonly HeaderFooterResolutionSection[]): HeaderFooterResolutionIndex; export declare function selectHeaderFooterVariantForPage({ documentPageNumber, sectionPageNumber, titlePg, alternateHeaders, }: HeaderFooterVariantSelectionInput): HeaderFooterVariant | null; export declare function resolveEffectiveHeaderFooterRef({ sections, sectionIndex, kind, variant, }: HeaderFooterEffectiveRefInput): HeaderFooterEffectiveRefResult | null;