export interface CodeDocument { title: string; language: string; lastTitle: string; beforeString: string; afterString: string; code: string; startIndex?: number; endIndex?: number; } export interface DocumentAnalyser { parse(markdown: string): Promise; } /** * 1. get all markdown files * 2. parse markdown files to collect code fence block(```) and file in code(`) * - if code (`) is path, get the file content by search in path, replace `/` by os.path.sep * - if code block collect it * 3. parse code to get code structure */ export declare class MarkdownAnalyser implements DocumentAnalyser { /** * Parses a markdown string and extracts code documents from it * @param markdown - The markdown string to parse * @returns A promise that resolves to an array of CodeDocument objects */ parse(markdown: string): Promise; /** * Checks if a string looks like a file path */ private looksLikeFilePath; /** * Gets the language identifier from a file path based on its extension */ private getLanguageFromFilePath; }