/**
 * @fileoverview LRU cache for task descriptions parsed from terminal output.
 *
 * Stores descriptions extracted from Claude Code's Task tool invocations
 * (e.g., "Explore(Check files)") keyed by timestamp. Used to correlate
 * with SubagentWatcher discoveries for better window titles.
 *
 * @module session-task-cache
 */
/**
 * LRU cache for task descriptions parsed from terminal output.
 *
 * Descriptions are keyed by the timestamp when they were parsed.
 * Old entries are automatically cleaned up based on maxAgeMs.
 * Size is bounded by the underlying LRUMap.
 */
export declare class SessionTaskCache {
    private readonly cache;
    private readonly maxAgeMs;
    constructor(maxSize?: number, maxAgeMs?: number);
    /**
     * Add a task description at the given timestamp.
     */
    add(timestamp: number, description: string): void;
    /**
     * Remove task descriptions older than maxAgeMs.
     * LRUMap maintains insertion order, so we can break early
     * once we find a non-expired entry.
     */
    private cleanupOld;
    /**
     * Get all recent task descriptions sorted by timestamp (most recent first).
     */
    getAll(): Array<{
        timestamp: number;
        description: string;
    }>;
    /**
     * Find a task description that was parsed close to a given timestamp.
     * Used to correlate with SubagentWatcher discoveries.
     *
     * @param subagentStartTime - The timestamp when the subagent was discovered
     * @param maxAgeMs - Maximum age difference to consider (default 10 seconds)
     * @returns The matching description or undefined
     */
    findNear(subagentStartTime: number, maxAgeMs?: number): string | undefined;
    /**
     * Clear all cached descriptions.
     */
    clear(): void;
}
//# sourceMappingURL=session-task-cache.d.ts.map