/**
 * Advanced Memory Manager for AI-Debug MCP Server
 * Implements comprehensive memory optimization strategies
 */
export interface MemoryProfile {
    heapUsed: number;
    heapTotal: number;
    external: number;
    rss: number;
    timestamp: number;
}
export interface SessionMemoryInfo {
    sessionId: string;
    createdAt: number;
    lastAccessed: number;
    resourceCount: number;
    memoryFootprint: number;
}
export declare class AdvancedMemoryManager {
    private static instance;
    private memoryHistory;
    private sessionMemoryMap;
    private readonly MAX_HISTORY;
    private readonly SESSION_TTL;
    private readonly MAX_SESSIONS;
    private readonly MEMORY_PRESSURE_THRESHOLD;
    private readonly GC_INTERVAL;
    private constructor();
    static getInstance(): AdvancedMemoryManager;
    /**
     * Start continuous memory monitoring
     */
    private startMemoryMonitoring;
    /**
     * Record current memory profile
     */
    private recordMemoryProfile;
    /**
     * Check for memory pressure and take action
     */
    private checkMemoryPressure;
    /**
     * Perform emergency memory cleanup
     */
    private performEmergencyCleanup;
    /**
     * Register a new session
     */
    registerSession(sessionId: string, estimatedMemoryMB?: number): void;
    /**
     * Update session access time
     */
    touchSession(sessionId: string): void;
    /**
     * Add resource to session tracking
     */
    addResource(sessionId: string, resourceMemoryMB?: number): void;
    /**
     * Remove session and free memory tracking
     */
    removeSession(sessionId: string): void;
    /**
     * Clean up expired sessions
     */
    private cleanupExpiredSessions;
    /**
     * Limit active sessions to most recent N sessions
     */
    private limitActiveSessions;
    /**
     * Clean up N oldest sessions
     */
    private cleanupOldestSessions;
    /**
     * Get memory usage statistics
     */
    getMemoryStats(): {
        current: MemoryProfile;
        sessions: {
            total: number;
            totalMemoryMB: number;
            averageMemoryMB: number;
            oldestSessionAge: number;
        };
        pressure: {
            isUnderPressure: boolean;
            heapUsagePercent: number;
            heapUsedMB: number;
        };
        abortSignals: {
            activeControllers: number;
            estimatedListeners: number;
            memoryPressure: 'low' | 'medium' | 'high';
        };
    };
    /**
     * Log comprehensive memory usage
     */
    logMemoryUsage(context?: string): void;
    /**
     * Get tool loading strategy based on memory availability
     */
    getToolLoadingStrategy(): {
        strategy: 'all' | 'batch' | 'minimal';
        batchSize: number;
        reason: string;
    };
    /**
     * Optimize tool loading based on memory constraints
     */
    shouldLoadToolCategory(category: string): boolean;
}
//# sourceMappingURL=advanced-memory-manager.d.ts.map