/** * Global Index for Cross-Project Search (Single DB) * * Stores project registry inside the main database. */ import { SQLiteManager } from "./SQLiteManager.js"; export interface ProjectMetadata { id: number; project_id: number; project_path: string; source_type: "claude-code" | "codex"; source_root: string | null; last_indexed: number; message_count: number; conversation_count: number; decision_count: number; mistake_count: number; metadata: Record; created_at: number; updated_at: number; } export interface RegisterProjectOptions { project_path: string; source_type: "claude-code" | "codex"; source_root?: string; message_count?: number; conversation_count?: number; decision_count?: number; mistake_count?: number; metadata?: Record; } export declare class GlobalIndex { private sqliteManager; private db; private ownsManager; constructor(sqliteManager?: SQLiteManager); private resolveProjectId; registerProject(options: RegisterProjectOptions): ProjectMetadata; getAllProjects(sourceType?: "claude-code" | "codex"): ProjectMetadata[]; getProject(projectPath: string, sourceType?: "claude-code" | "codex"): ProjectMetadata | null; removeProject(projectPath: string, sourceType?: "claude-code" | "codex"): boolean; getGlobalStats(): { total_projects: number; claude_code_projects: number; codex_projects: number; total_messages: number; total_conversations: number; total_decisions: number; total_mistakes: number; }; close(): void; getDbPath(): string; } //# sourceMappingURL=GlobalIndex.d.ts.map