/** * smart_outline — file structural skeleton via tree-sitter. * * Parses a source file and returns all top-level and nested symbols * with signatures only (bodies collapsed). This gives agents a ~1-2K * token overview of a file vs ~12K for a full Read. * * @task T151 */ /** A symbol node in the outline tree, with optional children. */ export interface OutlineNode { /** Symbol name. */ name: string; /** Symbol kind (function, class, method, etc.). */ kind: string; /** Start line (1-based). */ startLine: number; /** End line (1-based). */ endLine: number; /** Signature line(s) — the declaration without the body. */ signature: string; /** Whether this symbol is exported. */ exported: boolean; /** Nested symbols (methods inside classes, etc.). */ children: OutlineNode[]; } /** Result of generating a smart outline for a file. */ export interface SmartOutlineResult { /** Source file path (relative). */ filePath: string; /** Detected language. */ language: string; /** Top-level symbol tree. */ symbols: OutlineNode[]; /** Estimated token count for this outline. */ estimatedTokens: number; /** Parse errors (non-fatal). */ errors: string[]; } /** * Generate a smart outline for a source file. * * Returns a tree of symbols with signatures only (bodies collapsed), * suitable for giving agents a quick structural overview. * * @param filePath - Absolute path to source file * @param projectRoot - Project root for relative path computation * @returns Smart outline result with symbol tree and token estimate */ export declare function smartOutline(filePath: string, projectRoot?: string): SmartOutlineResult; //# sourceMappingURL=outline.d.ts.map