import type { Scope, Snapshot, SnapshotManifest } from '../session/types.js';
import type { SnapshotStorage, SnapshotLocation } from '../session/index.js';
export declare function createTestSnapshot(overrides?: Partial<Snapshot>): Snapshot;
export declare function createTestManifest(overrides?: Partial<SnapshotManifest>): SnapshotManifest;
export declare function createTestScope(kind?: 'agent' | 'multiAgent'): Scope;
export declare function createTestSnapshots(count: number, baseSnapshot?: Partial<Snapshot>): Snapshot[];
/**
 * Mock storage implementation for testing that stores data in memory
 */
export declare class MockSnapshotStorage implements SnapshotStorage {
    private snapshots;
    private manifests;
    shouldThrowErrors: boolean;
    saveSnapshot(params: {
        location: SnapshotLocation;
        snapshotId: string;
        isLatest: boolean;
        snapshot: Snapshot;
    }): Promise<void>;
    loadSnapshot(params: {
        location: SnapshotLocation;
        snapshotId?: string;
    }): Promise<Snapshot | null>;
    listSnapshotIds(params: {
        location: SnapshotLocation;
        limit?: number;
        startAfter?: string;
    }): Promise<string[]>;
    deleteSession(params: {
        sessionId: string;
    }): Promise<void>;
    loadManifest(params: {
        location: SnapshotLocation;
    }): Promise<SnapshotManifest>;
    saveManifest(params: {
        location: SnapshotLocation;
        manifest: SnapshotManifest;
    }): Promise<void>;
    private getKey;
    private getManifestKey;
}
//# sourceMappingURL=mock-storage-provider.d.ts.map