import { StorageDomain } from '../base.js';
import type { HarnessPendingItemRecord, SessionRecord, SessionRecordUpdate } from './types.js';
export declare abstract class HarnessStorage extends StorageDomain {
    constructor();
    abstract loadSession(sessionId: string): Promise<SessionRecord | null>;
    abstract saveSession(record: SessionRecord): Promise<void>;
    abstract listSessions(): Promise<SessionRecord[]>;
    updateSession(sessionId: string, updates: SessionRecordUpdate): Promise<SessionRecord>;
    appendPendingItem(sessionId: string, item: HarnessPendingItemRecord): Promise<SessionRecord>;
    updatePendingItem(sessionId: string, pendingItemId: string, updates: Partial<Omit<HarnessPendingItemRecord, 'id' | 'sessionId' | 'createdAt'>>): Promise<SessionRecord>;
    removePendingItem(sessionId: string, pendingItemId: string): Promise<SessionRecord>;
}
//# sourceMappingURL=base.d.ts.map