import type { SymbolKind } from "../types.js";
export interface FileTreeNode {
    name: string;
    path: string;
    type: "dir" | "file";
    symbol_count?: number;
    children?: FileTreeNode[];
}
export interface FileTreeOptions {
    path_prefix?: string | undefined;
    name_pattern?: string | undefined;
    depth?: number | undefined;
    compact?: boolean | undefined;
    min_symbols?: number | undefined;
}
export interface CompactFileEntry {
    path: string;
    symbols: number;
}
export interface FileOutlineEntry {
    id: string;
    name: string;
    kind: SymbolKind;
    signature?: string;
    start_line: number;
    end_line: number;
    parent?: string;
}
export interface DirectoryOutline {
    path: string;
    file_count: number;
    symbol_count: number;
    languages: string[];
}
export interface RepoOutlineResult {
    directories: DirectoryOutline[];
    total_symbols: number;
    total_files: number;
    languages: Record<string, number>;
}
export declare function getFileTree(repo: string, options?: FileTreeOptions): Promise<FileTreeNode[] | CompactFileEntry[] | {
    entries: CompactFileEntry[];
    truncated: boolean;
    total: number;
    hint: string;
}>;
export declare function getFileOutline(repo: string, filePath: string): Promise<{
    symbols: FileOutlineEntry[];
    truncated?: boolean;
    total_symbols?: number;
}>;
/**
 * Get a high-level outline of the entire repository.
 * Groups files by directory with symbol counts and language breakdown.
 */
export declare function getRepoOutline(repo: string): Promise<RepoOutlineResult>;
/**
 * Suggest useful queries for exploring an unfamiliar repo.
 * Returns top symbol names, most-symbol-dense files, kind distribution,
 * and example queries ready to paste.
 */
export declare function suggestQueries(repo: string): Promise<{
    top_files: Array<{
        path: string;
        symbols: number;
    }>;
    kind_distribution: Record<string, number>;
    example_queries: string[];
}>;
//# sourceMappingURL=outline-tools.d.ts.map