/**
 * SymbolCache - Disk-based symbol location cache with mtime invalidation
 *
 * Caches LSP symbol lookup results to disk, invalidated when source
 * files are modified (based on mtime comparison).
 *
 * @see spec.md US-006: Symbol Caching
 * @satisfies AC-US6-01, AC-US6-02, AC-US6-03
 */
/**
 * Symbol location information
 */
export interface SymbolLocation {
    /** File URI (file://...) */
    uri: string;
    /** Line number (0-indexed) */
    line: number;
    /** Column number (0-indexed) */
    column: number;
}
/**
 * Filesystem abstraction for testing
 */
export interface FileSystemAdapter {
    exists(path: string): Promise<boolean>;
    readFile(path: string): Promise<string>;
    writeFile(path: string, content: string): Promise<void>;
    getMtime(path: string): Promise<number>;
    mkdir(path: string): Promise<void>;
    unlink(path: string): Promise<void>;
}
/**
 * Disk-based symbol cache with mtime invalidation
 */
export declare class SymbolCache {
    private readonly cacheDir;
    private readonly fs;
    /** Track cache file paths for clear() */
    private readonly cachedPaths;
    constructor(cacheDir: string, fs: FileSystemAdapter);
    /**
     * Cache symbol locations for a file/symbol combination
     *
     * @param filePath - Source file path
     * @param symbol - Symbol name
     * @param locations - Symbol locations to cache
     */
    set(filePath: string, symbol: string, locations: SymbolLocation[]): Promise<void>;
    /**
     * Get cached symbol locations if still valid
     *
     * @param filePath - Source file path
     * @param symbol - Symbol name
     * @returns Cached locations or null if not found/invalid
     */
    get(filePath: string, symbol: string): Promise<SymbolLocation[] | null>;
    /**
     * Clear all cache entries
     */
    clear(): Promise<void>;
    /**
     * Generate unique cache key from file path and symbol
     */
    private getCacheKey;
    /**
     * Get cache file path for a cache key
     */
    private getCachePath;
}
//# sourceMappingURL=symbol-cache.d.ts.map