/**
 * CompressedMemoryStorage implementation
 * Provides memory compression to reduce memory footprint for long-term storage
 */
import { BaseMemory, MemoryItem, MemorySearchParams, MemorySearchResult } from '../BaseMemory.js';
/**
 * Options for configuring CompressedMemoryStorage
 */
export interface CompressedMemoryStorageOptions {
    /**
     * Compression level (1-9, where 9 is maximum compression)
     * @default 6
     */
    compressionLevel?: number;
    /**
     * Size threshold in bytes for when to compress items
     * Items smaller than this will not be compressed
     * @default 1024 (1KB)
     */
    compressionThreshold?: number;
    /**
     * Whether to track statistics about compression
     * @default true
     */
    trackStats?: boolean;
    /**
     * Backing memory storage to use for storing compressed items
     * If not provided, items will be stored in memory
     */
    backingStorage?: BaseMemory;
}
/**
 * CompressedMemoryStorage class
 * Provides transparent compression/decompression for memory items
 */
export declare class CompressedMemoryStorage implements BaseMemory {
    private items;
    private metadata;
    private itemMetadata;
    private compressionLevel;
    private compressionThreshold;
    private trackStats;
    private backingStorage?;
    private stats;
    constructor(options?: CompressedMemoryStorageOptions);
    /**
     * Add a new item to memory with compression
     */
    add(content: string, metadata?: Record<string, any>): Promise<MemoryItem>;
    /**
     * Search for items in memory
     * Note: This performs a basic search in memory - for more advanced searching,
     * use a specialized backing storage with vector search capabilities
     */
    search(params: MemorySearchParams): Promise<MemorySearchResult>;
    /**
     * Get an item by its ID
     */
    get(id: string): Promise<MemoryItem | null>;
    /**
     * Update an existing memory item
     */
    update(id: string, updates: Partial<Omit<MemoryItem, 'id' | 'createdAt'>>): Promise<MemoryItem | null>;
    /**
     * Remove an item from memory
     */
    remove(id: string): Promise<boolean>;
    /**
     * Clear all items from memory
     */
    clear(): Promise<void>;
    /**
     * Reset memory (same as clear for this implementation)
     */
    reset(): Promise<void>;
    /**
     * Get memory statistics
     */
    getStats(): Record<string, any>;
    /**
     * Get the current number of items in memory
     */
    get size(): number;
    /**
     * Decompress content
     * @private
     */
    private decompress;
}
//# sourceMappingURL=CompressedMemoryStorage.d.ts.map