import type { KSyncEvent, KSyncStorage } from '../types.js';
export interface MemoryStorageOptions {
    maxEvents?: number;
    maxMemoryMB?: number;
    trimOnLimit?: boolean;
    compressionEnabled?: boolean;
}
export declare class MemoryStorage implements KSyncStorage {
    private events;
    private options;
    private memoryUsageBytes;
    constructor(options?: MemoryStorageOptions);
    getEvents(fromVersion?: number): Promise<KSyncEvent[]>;
    storeEvent(event: KSyncEvent): Promise<void>;
    storeEvents(events: KSyncEvent[]): Promise<void>;
    saveEvents(events: KSyncEvent[]): Promise<void>;
    loadEvents(): Promise<KSyncEvent[]>;
    getLastVersion(): Promise<number>;
    clear(): Promise<void>;
    getStats(): {
        eventCount: number;
        memoryUsageBytes: number;
        memoryUsageMB: number;
        memoryUtilization: number;
        maxEvents: number;
        maxMemoryMB: number;
    };
    private calculateEventSize;
    private trimToFitMemory;
}
//# sourceMappingURL=memory.d.ts.map