export interface SpecClause { /** Primary id — first attached anchor, else a slug of the title. */ id: string; /** Every `.. _label:` anchor that addresses this clause. */ anchors: string[]; /** Heading text, or null for an anchor-only content block. */ title: string | null; /** Heading depth (1 = page title). 0 for anchor-only blocks. */ level: number; /** Source file relative to `document/core/`, e.g. `syntax/types`. */ path: string; /** Cleaned prose text (SpecTec splices + RST roles stripped). */ prose: string; /** `:ref:` cross-reference targets cited in this clause. */ crossrefs: string[]; /** SpecTec rule / syntax names referenced by splice macros. */ formal_refs: string[]; /** Full URL into the rendered spec. */ url: string; } /** Map a source path + anchor to the rendered spec URL. */ export declare function clauseUrl(path: string, anchor: string | null): string; /** * Parse one RST document into clauses. `path` is the source-relative * path without extension (e.g. `syntax/types`). */ export declare function parseRst(source: string, path: string): SpecClause[];