import type { AgencyMultiLineComment } from "../types.js"; /** * Module doc-comment text extraction, shared by `agency doc` (index cards * and page headers) and `std::agency`'s `describe` (the `ModuleInfo. * description` field) so "the module's summary" means the same thing * everywhere it appears. */ /** * Remove the `*` that JSDoc style puts at the start of each line, so * " * First line." renders as "First line.". * * Only a comment where EVERY line after the opening one is indented and * starts with `*` is treated as JSDoc style. A `* item` line at the margin * is a Markdown bullet and must stay. * * Call it once per comment. A second pass would read the comment's own * `* item` bullets as markers. */ export declare function stripDocCommentMarkers(content: string): string; /** Split an `@summary` override line off a module doc comment's content. */ export declare function extractSummaryOverride(content: string): { override: string | null; body: string; }; export declare function firstParagraph(body: string): string; export declare function firstSentence(text: string): string; export declare function sanitizeDescription(raw: string): string; /** The module's one-line summary: the `@summary` override if present, * else the first sentence of the first paragraph, sanitized. */ export declare function moduleDescription(comment: AgencyMultiLineComment | undefined): string | null;