export interface MemoryManagerConfig {
    enabled: boolean;
    maxTimelineSize: number;
    metricsRetentionMs: number;
    cleanupIntervalMs: number;
    memoryThresholdMB: number;
    autoCleanup: boolean;
    compressionEnabled: boolean;
}
export interface MemoryStats {
    totalAllocated: number;
    timelineEntries: number;
    metricsEntries: number;
    lastCleanup: number;
    memoryUsageMB: number;
    compressionRatio: number;
}
export declare class EnhancedMemoryManagerService {
    private readonly logger;
    private readonly timelines;
    private readonly metrics;
    private readonly config;
    private cleanupTimer;
    constructor(config?: Partial<MemoryManagerConfig>);
    addTimelineEntry(timelineId: string, data: any): void;
    addMetricsEntry(key: string, value: any, ttlMs?: number): void;
    getTimelineEntries(timelineId: string, fromTimestamp?: number, toTimestamp?: number): any[];
    getLatestMetrics(key: string, limit?: number): any[];
    getMemoryStats(): MemoryStats;
    cleanup(): Promise<void>;
    clearTimeline(timelineId: string): void;
    clearMetrics(key: string): void;
    clearAll(): void;
    shutdown(): void;
    private lastCleanupTime;
    private startCleanupTimer;
    private cleanupOldTimelineEntries;
    private cleanupOldMetricsEntries;
    private cleanupAllExpiredMetrics;
    private cleanupExpiredMetrics;
    private checkMemoryUsage;
    private compressData;
    private decompressData;
    private simplifyObject;
    private calculateCompressionRatio;
}
