export type ReasonCategory = "accounting" | "corporate" | "multiple" | "unspecified"; export declare function htmlToText(html: string): string; export declare function classifyNtReason(html: string): { reasonText: string | null; reasonCategory: ReasonCategory; }; export declare function extractItem4Purpose(html: string): string | null; export declare function parseS3ShelfDetails(html: string): { shelfAmount: number | null; useOfProceedsExcerpt: string | null; }; export interface Parsed13DDetails { filerName: string | null; pctOwned: number | null; purposeExcerpt: string | null; } /** * Best-effort parse of a Schedule 13D body. Filer name comes from the * "Names of Reporting Persons" cover-page block; pct owned from the * "Percent of Class" cover-page line; purpose from Item 4. All fields * are null when the parse heuristics don't match — the LLM consumer * can fall back to the primary doc URL for the raw filing. */ export declare function parse13DDetails(html: string): Parsed13DDetails;