export interface CodeDocument {
    title: string;
    language: string;
    lastTitle: string;
    beforeString: string;
    afterString: string;
    code: string;
}
export interface DocumentAnalyser {
    parse(markdown: string): Promise<CodeDocument[]>;
}
/**
 * 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<CodeDocument[]>;
    /**
     * 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;
}
