/**
 * Code Map System — Project structure tracking and context injection.
 * Maintains a map of project structure, modules, and file relationships.
 */
export interface FileEntry {
    path: string;
    language: string;
    lineCount: number;
    exports: string[];
    imports: string[];
    localImports: string[];
    size: number;
}
export interface ModuleEntry {
    name: string;
    files: string[];
    description: string;
}
export interface CodeMap {
    projectRoot: string;
    files: FileEntry[];
    modules: ModuleEntry[];
    generatedAt: string;
    totalFiles: number;
    totalLines: number;
}
export interface RepoMapOptions {
    minFiles?: number;
    maxFiles?: number;
    maxChars?: number;
}
/**
 * Generate a code map by scanning the project
 */
export declare function generateCodeMap(cwd: string): CodeMap;
export declare function buildAutoRepoMapBlock(cwd: string, userQuery?: string, options?: RepoMapOptions): string | null;
/**
 * Save code map to disk
 */
export declare function saveCodeMap(cwd: string, map: CodeMap): void;
/**
 * Load code map from disk
 */
export declare function loadCodeMap(cwd: string): CodeMap | null;
/**
 * Check if code map is stale (any source files modified since generation)
 */
export declare function isCodeMapStale(cwd: string): boolean;
/**
 * Pretty-print the code map
 */
export declare function printCodeMap(map: CodeMap): void;
/**
 * Build a code map context string for system prompt injection
 */
export declare function buildCodemapContext(cwd: string): string;
/**
 * Print code map generation status
 */
export declare function printCodemapStatus(cwd: string): void;
