import type { AgentTraceFileSystem, AgentTraceSource, TraceReader, TraceReference } from "../types.js"; export interface TraceIndexRecord { path: string; source: AgentTraceSource; id: string; cwd?: string; title?: string; metadata?: Record; updatedAtMs: number; mtimeMs: number; size: number; } export interface TraceIndexSyncOptions { readers: TraceReader[]; homeDir: string; now?: () => number; onProgress?: (progress: { scannedDirs: number; headReads: number; }) => void; } export interface TraceIndexSyncStats { scannedDirs: number; statted: number; headReads: number; added: number; updated: number; removed: number; } export interface TraceIndexQueryOptions { cwd?: string; allWorkspaces?: boolean; since?: Date; sources?: AgentTraceSource[]; limit: number; } export interface TraceIndex { sync(options: TraceIndexSyncOptions): Promise; query(options: TraceIndexQueryOptions): Promise; rebuild(options: TraceIndexSyncOptions): Promise; } export declare function openTraceIndex(options: { dir: string; fs: AgentTraceFileSystem; }): Promise;