/**
 * 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;
    container?: string;
}
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