import type { SessionEvent, SessionEventData, SessionMeta, SessionStatus } from '../types';
export declare class SessionStorage {
    private transcriptPath;
    private metaPath;
    private meta;
    constructor(projectDir: string, model: string, sessionId?: string);
    initialize(): Promise<void>;
    setMeta<K extends keyof SessionMeta>(key: K, value: SessionMeta[K]): void;
    append(type: SessionEvent['type'], data: SessionEventData): Promise<void>;
    updateMeta(patch: Partial<SessionMeta>): Promise<SessionMeta>;
    markStatus(status: SessionStatus, lastError?: string): Promise<void>;
    readAll(): Promise<SessionEvent[]>;
    getMeta(): Promise<SessionMeta>;
    getSessionId(): string;
    getTranscriptPath(): string;
    static listSessions(projectDir: string): Promise<SessionMeta[]>;
    static listRecoverableSessions(projectDir: string): Promise<SessionMeta[]>;
    static markStaleRunningSessions(projectDir: string, staleBeforeMs?: number): Promise<number>;
}
//# sourceMappingURL=sessionStorage.d.ts.map