import type { StudioChatMode, StudioEvent, StudioPermissionMode, StudioRunAction, StudioSession, StudioSessionMode } from "./types.js"; export interface StudioSessionIndexEntry { id: string; conversationId?: string; turnIndex?: number; goal?: string; model?: string | null; effort?: string | null; harness: string; action: StudioRunAction; mode?: StudioSessionMode; chatMode?: StudioChatMode; permissionMode?: StudioPermissionMode; cwd: string; prompt: string; status: StudioSession["status"]; startedAt: string; completedAt: string | null; exitCode: number | null; eventCount: number; updatedAt: string; } export declare class StudioSessionStore { private readonly root; private index; constructor(projectRoot: string); init(): void; appendEvent(session: StudioSession, event: StudioEvent): void; upsertSession(session: StudioSession): void; listSessions(): StudioSessionIndexEntry[]; getSession(sessionId: string): StudioSessionIndexEntry | null; readSessionEvents(sessionId: string, options?: { limit?: number; }): StudioEvent[]; get indexedSessionCount(): number; private eventLogPath; private get sessionsDir(); private get indexPath(); private flushIndex; private finalizeAbandonedRunningSessions; }