import { MemoryRecord, MemoryStorage } from '../types';
/**
 * LocalStorage implementation of MemoryStorage
 */
export declare class LocalStorageMemoryStorage implements MemoryStorage {
    private storageKey;
    /**
     * Constructor
     * @param storageKey Key to use in localStorage
     */
    constructor(storageKey: string);
    /**
     * Load memory records from localStorage
     * @returns Promise resolving to array of memory records
     */
    load(): Promise<MemoryRecord[]>;
    /**
     * Save memory records to localStorage
     * @param records Memory records to save
     * @returns Promise resolving when save is complete
     */
    save(records: MemoryRecord[]): Promise<void>;
    /**
     * Clear all stored memory records
     * @returns Promise resolving when clear is complete
     */
    clear(): Promise<void>;
}
/**
 * IndexedDB implementation of MemoryStorage (example skeleton)
 * This is just a placeholder - would need to be implemented properly
 */
export declare class IndexedDBMemoryStorage implements MemoryStorage {
    load(): Promise<MemoryRecord[]>;
    save(records: MemoryRecord[]): Promise<void>;
    clear(): Promise<void>;
}
/**
 * Factory function to create appropriate storage based on environment
 * @param storageKey Key to use for storage
 * @param storageType Type of storage to use
 * @returns MemoryStorage implementation
 */
export declare function createMemoryStorage(storageKey: string, storageType?: 'localStorage' | 'indexedDB'): MemoryStorage;
