import type { CstNode } from 'chevrotain'; import type { JavaSymbol } from './symbol-table.js'; export interface JavadocComment { description: string; params: { name: string; description: string; }[]; returns?: string; throws: { type: string; description: string; }[]; since?: string; deprecated?: string; see: string[]; author?: string; raw: string; } /** * Parse a Javadoc comment string (`/** ... *​/`) into structured data. */ export declare function parseJavadoc(commentText: string): JavadocComment; /** * Walk the CST to find the Javadoc comment attached to the node at the symbol's position. */ export declare function extractJavadocForSymbol(cst: CstNode, symbol: JavaSymbol, sourceText?: string): JavadocComment | null; /** * Format a JavadocComment into Markdown for hover display. */ export declare function formatJavadocMarkdown(doc: JavadocComment): string; /** * Walk the entire CST and collect all Javadoc comments, keyed by the 1-based * start line of the node they're attached to (not the comment's own line). * * java-parser does not reliably attach leadingComments to tokens, so we also * accept the raw source text and use a regex-based fallback when the CST walk * finds nothing. */ export declare function findJavadocComments(cst: CstNode, sourceText?: string): Map; //# sourceMappingURL=javadoc.d.ts.map