/** * Code extractor - extracts items, lines, and metadata from source files */ import { type SupportedLanguage } from './tree-sitter.js'; import type { LineRow } from '../db/queries.js'; export interface ExtractedItem { term: string; lineNumber: number; lineType: LineRow['line_type']; } export interface ExtractedLine { lineNumber: number; lineType: LineRow['line_type']; } export interface ExtractedMethod { name: string; prototype: string; lineNumber: number; visibility: string | null; isStatic: boolean; isAsync: boolean; bodyText: string | null; bodyLines: number | null; bodyTruncated: boolean; } export declare const MAX_BODY_CHARS = 8000; export declare const TRUNC_HEAD_CHARS = 4000; export declare const TRUNC_TAIL_CHARS = 1000; export interface ExtractedType { name: string; kind: 'class' | 'struct' | 'interface' | 'enum' | 'type'; lineNumber: number; } export interface ExtractionResult { language: SupportedLanguage; items: ExtractedItem[]; lines: ExtractedLine[]; methods: ExtractedMethod[]; types: ExtractedType[]; headerComments: string[]; } /** * Extract all indexable information from source code */ export declare function extract(sourceCode: string, filePath: string): ExtractionResult | null; export { detectLanguage, isSupported, getSupportedExtensions } from './tree-sitter.js'; //# sourceMappingURL=extractor.d.ts.map