/** * Signature Extractor * * Extracts function/class signatures and docstrings from source files * across multiple languages using regex patterns (no AST required). * * Used to build a compact semantic index of all project files for Stage 1, * replacing the simple file-path list with language-aware summaries. */ export interface ExtractedSignature { kind: 'class' | 'function' | 'method' | 'interface' | 'type' | 'const'; name: string; signature: string; docstring?: string; decorator?: string; } export interface FileSignatureMap { path: string; language: string; entries: ExtractedSignature[]; } export declare const STAGE1_MAX_CHARS = 40000; export declare function detectLanguage(filePath: string): string; /** * Resolve the language of a `.h` header (spec-08). `.h` is claimed by both C and * C++. Rule: a project with `.c` files and no C++ sources → C; otherwise C++ * (the default / superset, which parses C headers acceptably). */ export declare function resolveHeaderLanguage(hasCSources: boolean, hasCppSources: boolean): 'C' | 'C++'; export declare function extractSignatures(filePath: string, content: string): FileSignatureMap; /** * Format signature maps as compact text blocks for Stage 1 LLM prompt. * Returns an array of chunk strings — 1 element if total fits within maxChars, * N elements if chunking is needed. Files are never split across chunks. */ export declare function formatSignatureMaps(maps: FileSignatureMap[], maxChars?: number): string[]; //# sourceMappingURL=signature-extractor.d.ts.map