/**
 * Symbol extractor using web-tree-sitter
 * Parses source files and extracts nodes + edges into the graph.
 * Handles functions, classes, methods, variables, constants, and imports.
 */
import type { Node, Edge, Language } from '../types';
export interface UnresolvedRef {
    sourceId: string;
    refName: string;
    refKind: 'function' | 'import';
    line: number;
    column: number;
}
export interface ExtractedFile {
    filePath: string;
    language: Language;
    contentHash: string;
    fileSize: number;
    nodes: Node[];
    edges: Edge[];
    unresolvedRefs: UnresolvedRef[];
}
export declare function makeNodeId(filePath: string, kind: string, name: string, line: number): string;
/**
 * Extract symbols from a single file.
 * Optionally accepts pre-read content for batch I/O efficiency.
 */
export declare function extractFile(filePath: string, projectRoot: string, content?: Buffer | string): Promise<ExtractedFile | null>;
//# sourceMappingURL=extractor.d.ts.map