/** * Bahrain Law HTML Parser * * Parses legislation pages from legalaffairs.gov.bh. * * Bahrain laws are Word-generated HTML (MsoNormal classes) with specific patterns: * * ARTICLE HEADINGS: * Pattern 1 (most common): Article heading split across two paragraphs: *

...مادة...

(standalone "مادة" or "المادة") *

...(N)...

(article number in next paragraph) * * Pattern 2: Article heading in one paragraph: *

...المادة (N)...

or

...مادة (N)...

* * Pattern 3 (Gulf convention): "مادة N" without parentheses * * STRUCTURAL HEADINGS: * - "الباب" (al-bab) = Book/Part * - "الفصل" (al-fasl) = Chapter/Section * - "الكتاب" (al-kitab) = Book (rarely used) * * Source: legalaffairs.gov.bh (Legislation and Legal Opinion Commission) */ export interface ActIndexEntry { id: string; title: string; titleEn: string; shortName: string; status: 'in_force' | 'amended' | 'repealed' | 'not_yet_in_force'; issuedDate: string; inForceDate: string; url: string; aknYear?: string; aknNumber?: string; description?: string; } export interface ParsedProvision { provision_ref: string; chapter?: string; section: string; title: string; content: string; } export interface ParsedDefinition { term: string; definition: string; source_provision?: string; } export interface ParsedAct { id: string; type: 'statute'; title: string; title_en: string; short_name: string; status: string; issued_date: string; in_force_date: string; url: string; description?: string; provisions: ParsedProvision[]; definitions: ParsedDefinition[]; } /** * Parse Bahraini legislation HTML using paragraph-level analysis. * * The key insight is that Bahrain laws from legalaffairs.gov.bh use Word-generated * HTML where article headings are often split across two paragraphs: *

مادة

*

(5)

*

...article content...

* * This parser processes paragraphs sequentially and detects this pattern. */ export declare function parseBahrainLawHtml(html: string, act: ActIndexEntry): ParsedAct; //# sourceMappingURL=parser.d.ts.map