import { ASTNode, Dependency, ExportInfo, Parameter, ParserAdapter, Range } from '../types'; /** * Tree-sitter based parser adapter for multi-language support * Note: Tree-sitter requires async initialization, so this adapter uses lazy initialization * For best results, pre-initialize parsers or use async parsing methods */ export declare class TreeSitterAdapter implements ParserAdapter { private sourceCode; private languageName; private parser; private language; private initialized; private initPromise; constructor(languageName: string); /** * Initialize parser with language (lazy initialization) * This is async but parse() is sync, so we start initialization but don't wait */ private ensureInitialized; private doInitialize; parse(code: string, filePath: string): ASTNode; /** * Parse code asynchronously (recommended for tree-sitter) */ parseAsync(code: string, filePath: string): Promise; getRoot(node: ASTNode): ASTNode; getTopLevelDeclarations(node: ASTNode): ASTNode[]; private getTopLevelNodeTypes; private treeSitterNodeToASTNode; private extractNodeName; isFunction(node: ASTNode): boolean; isClass(node: ASTNode): boolean; isInterface(node: ASTNode): boolean; isEnum(node: ASTNode): boolean; isTypeAlias(node: ASTNode): boolean; isNamespace(node: ASTNode): boolean; getNodeName(node: ASTNode): string | undefined; getNodeRange(node: ASTNode): Range | undefined; getChildren(node: ASTNode): ASTNode[]; isExported(node: ASTNode): boolean; getExportName(node: ASTNode): string | undefined; getImports(node: ASTNode): Dependency[]; getExports(node: ASTNode): ExportInfo[]; getDecorators(node: ASTNode): string[]; getTypeParameters(node: ASTNode): string[]; getParameters(node: ASTNode): Parameter[]; getReturnType(node: ASTNode): string | undefined; getJSDoc(node: ASTNode): string | undefined; extractCode(node: ASTNode, sourceCode?: string): string; } //# sourceMappingURL=treesitter-adapter.d.ts.map