/**
 * 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