import Parser from 'tree-sitter'; import { ParsedFile, ParsedSymbol, ParsedImport, ParsedExport, ParsedReference, LanguageConfig, ParserOptions, ASTNode, SymbolContext } from './types'; export declare abstract class LanguageParser { protected parser: Parser; protected config: LanguageConfig; constructor(config: LanguageConfig); abstract initializeLanguage(): void; parseFile(filePath: string, content: string, options?: ParserOptions): Promise; protected convertToASTNode(node: Parser.SyntaxNode): ASTNode; protected abstract extractSymbols(node: ASTNode, content: string, context: SymbolContext): Promise; protected abstract extractImports(node: ASTNode, content: string): Promise; protected abstract extractExports(node: ASTNode, content: string): Promise; protected abstract extractReferences(node: ASTNode, content: string, context: SymbolContext): Promise; protected buildRelationships(symbols: ParsedSymbol[], imports: ParsedImport[], exports: ParsedExport[], references: ParsedReference[]): never[]; protected findNodesByType(node: ASTNode, type: string): ASTNode[]; protected findNodesInRange(node: ASTNode, startLine: number, endLine: number): ASTNode[]; protected getNodeText(node: ASTNode, content: string): string; protected extractDocumentation(node: ASTNode): string | undefined; protected determineVisibility(node: ASTNode): 'public' | 'private' | 'protected' | undefined; } //# sourceMappingURL=LanguageParser.d.ts.map