import { HttpPlugin, HttpApp } from '../types'; import { MemoryMonitor, MemoryMonitoringConfig, MemoryStats, MemoryLeakInfo, MemorySnapshot } from '../monitoring'; import { Logger } from '../../../common'; export interface MemoryMonitoringPluginOptions extends Partial { exposeEndpoints?: boolean; basePath?: string; includeInRequest?: boolean; autoGC?: boolean; gcThreshold?: number; } export declare class MemoryMonitoringPlugin implements HttpPlugin { readonly name = "memory-monitoring"; private monitor; private memoryMiddleware; config: MemoryMonitoringPluginOptions; private startTime; private logger; constructor(options?: Partial, logger?: Logger); install(app: HttpApp, options?: MemoryMonitoringPluginOptions): Promise; uninstall(app: HttpApp): void; beforeStart(app: HttpApp): void; afterStart(app: HttpApp): void; beforeStop(app: HttpApp): void; afterStop(app: HttpApp): void; gracefulShutdown(app: HttpApp, signals?: string[]): Promise; getMonitor(): MemoryMonitor; getMemoryStats(): MemoryStats; getMemorySummary(): { current: any; status: 'healthy' | 'warning' | 'critical'; leaks: number; uptime: number; lastCheck: number; }; getMemoryLeaks(): MemoryLeakInfo[]; getMemoryHistory(): MemorySnapshot[]; forceGC(): void; getConfig(): MemoryMonitoringPluginOptions; updateConfig(newConfig: Partial): void; private setupAutoGC; private registerMemoryEndpoints; private removeMemoryEndpoints; } export default MemoryMonitoringPlugin;