import { type ParagraphAlignment, type StylesModel } from './styles.js'; import type { DocumentViewNode, HeaderFormatting, HeadingValue, HeuristicHeadingSource } from './document_view-types.js'; export type { HeaderFormatting, HeadingSource, HeadingValue, HeuristicHeadingSource } from './document_view-types.js'; export declare function extractHeaderInfo(cleanText: string): { header_text: string | null; header_style: HeuristicHeadingSource | null; }; export declare function deriveHeading(paragraphStyleId: string | null, cleanText: string, headerText: string | null, headerStyle: HeuristicHeadingSource | null, isInTableCell: boolean): HeadingValue | undefined; export declare function detectRunInHeader(params: { paragraph: Element; paragraphPPr: Element | null; paragraphStyleId: string | null; styles: StylesModel; }): { raw_text: string; formatting: HeaderFormatting; headerCharCount: number; } | null; /** * Detect a centered, ALL-CAPS, bold standalone title (e.g. an NVCA SPA's * `SERIES […] PREFERRED STOCK PURCHASE AGREEMENT` title). * * Strict gates only — fires only when the paragraph cannot be confused with * body prose, a placeholder, or a signature line: * - paragraph alignment is CENTER * - clean text contains no lowercase letters * - clean text contains ≥ 3 ASCII letters AND ≥ 2 whitespace-separated * word-tokens (so single-token bracketed placeholders like `[COMPANY]` * and underscore-only signature lines like `____________` are rejected) * - clean text is non-empty and ≤ MAX_CENTERED_TITLE_LENGTH * - all visible runs are bold (a single non-bold char disqualifies) */ export declare function detectTitleCapsCentered(params: { paragraph: Element; paragraphPPr: Element | null; paragraphStyleId: string | null; alignment: ParagraphAlignment; cleanTextNoLabel: string; styles: StylesModel; }): { raw_text: string; formatting: HeaderFormatting; } | null; export declare function suppressSignatureClusters(nodes: DocumentViewNode[]): void; //# sourceMappingURL=document_view-headings.d.ts.map