/** * Versioned storage wrapper * Adds automatic versioning to any StorageProvider */ import type { StorageProvider, VersionInfo } from '../types/storage.js'; /** * Configuration for versioned storage */ export interface VersionedStorageConfig { maxVersions: number; } /** * Versioned storage wrapper that adds automatic versioning to any storage provider * Uses full snapshot strategy - each version is a complete copy */ export declare class VersionedStorage implements StorageProvider { private readonly storage; private readonly config; constructor(storage: StorageProvider, config?: Partial); /** * Get a value by key (delegates to underlying storage) */ get(key: string): Promise; /** * Set a value by key, creating a version if data already exists */ set(key: string, value: T): Promise; /** * Delete a value by key (delegates to underlying storage) */ delete(key: string): Promise; /** * List all keys with a given prefix (delegates to underlying storage) */ list(prefix: string): Promise; /** * Check if a key exists (delegates to underlying storage) */ exists(key: string): Promise; /** * Get a specific version of a value (delegates to underlying storage) */ getVersion(key: string, version: number): Promise; /** * List all versions for a key (delegates to underlying storage) */ listVersions(key: string): Promise; /** * Create a new version for a key (delegates to underlying storage) */ createVersion(key: string): Promise; /** * Prune old versions to stay within maxVersions limit */ private pruneOldVersions; /** * Get the underlying storage provider */ getUnderlyingStorage(): StorageProvider; } //# sourceMappingURL=VersionedStorage.d.ts.map