/**
 * InMemoryStorageAdapter
 *
 * An in-memory implementation of the StorageAdapter interface
 * Optimized for performance in development environments
 */
import { BaseStorageAdapter, StorageAdapterOptions } from './StorageAdapter.js';
/**
 * InMemoryStorageAdapter Options
 */
export interface InMemoryStorageOptions extends StorageAdapterOptions {
    /**
     * Maximum number of items to store in memory
     * When exceeded, least recently used items are evicted
     */
    maxItems?: number;
    /**
     * Whether to persist items between process restarts (if localStorage is available)
     */
    persistent?: boolean;
}
/**
 * InMemoryStorageAdapter implements the StorageAdapter interface
 * using an in-memory Map with optional LRU eviction
 */
export declare class InMemoryStorageAdapter extends BaseStorageAdapter {
    private storage;
    private accessOrder;
    private maxItems;
    private persistent;
    constructor(options?: InMemoryStorageOptions);
    /**
     * Save a value with optimized memory usage
     */
    save(key: string, value: any): Promise<void>;
    /**
     * Load a value with optimized retrieval
     */
    load(key: string): Promise<any | null>;
    /**
     * Delete a value with cleanup
     */
    delete(key: string): Promise<boolean>;
    /**
     * Clear all values
     */
    clear(): Promise<void>;
    /**
     * Get all keys with namespace removed
     */
    keys(): Promise<string[]>;
    /**
     * Get memory usage statistics
     */
    getStats(): {
        size: number;
        memoryUsage: number;
    };
    /**
     * Helper: Update access order for LRU tracking
     */
    private updateAccessOrder;
    /**
     * Helper: Evict least recently used item
     */
    private evictLRU;
    /**
     * Helper: Persist to disk (if possible)
     */
    private persistToDisk;
    /**
     * Helper: Load from persistence
     */
    private loadFromPersistence;
    /**
     * Helper: Clear persistence data
     */
    private clearPersistence;
}
//# sourceMappingURL=InMemoryStorageAdapter.d.ts.map