/** * Tree-sitter query helpers for symbol extraction, outline generation, * and scope detection. * * Uses TreeCursor traversal rather than query string patterns so that * the logic works without requiring pre-built WASM grammar files for queries. */ import type { Tree, Language } from 'web-tree-sitter'; export interface SymbolInfo { name: string; kind: 'function' | 'class' | 'interface' | 'type' | 'variable' | 'constant' | 'enum' | 'method' | 'property' | 'namespace'; line: number; endLine: number; column: number; exported: boolean; signature?: string | undefined; container?: string | undefined; } export interface OutlineEntry { name: string; kind: string; line: number; endLine: number; signature: string; children: OutlineEntry[]; } /** * Extract all symbols from a parsed tree. * Supports TypeScript, TSX, JavaScript, and Python. * Returns empty array with a warning for unsupported languages. */ export declare function extractSymbols(tree: Tree, _language: Language, langId: string): SymbolInfo[]; /** * Extract outline (structure without bodies) from a parsed tree. * Returns top-level entries with children for nested declarations. */ export declare function extractOutline(tree: Tree, language: Language, langId: string): OutlineEntry[]; /** * Find the innermost function/class/block enclosing the given (1-based) line. * Returns null if no enclosing scope is found or if the language is unsupported. */ export declare function findEnclosingScope(tree: Tree, _language: Language, langId: string, line: number): { kind: string; name: string; startLine: number; endLine: number; } | null; //# sourceMappingURL=queries.d.ts.map