import { CommonLogger } from '@goatlab/js-utils'; import type { NextFunction, Request, Response } from 'express'; interface MemoryMonitorOptions { logger?: CommonLogger; warningThreshold?: number; criticalThreshold?: number; monitorInterval?: number; enableGarbageCollection?: boolean; addHeaders?: boolean; } interface MemoryMetrics { heapUsedMB: number; heapTotalMB: number; heapUsedPercentage: number; rssMB: number; timestamp: number; } declare class MemoryMonitor { private logger; private warningThreshold; private criticalThreshold; private monitorInterval; private enableGarbageCollection; private addHeaders; private intervalTimer?; private lastMetrics?; private gcAvailable; private lastState; constructor(options?: MemoryMonitorOptions); private getMemoryMetrics; private formatMemoryMetrics; private checkMemoryUsage; startMonitoring(): void; stopMonitoring(): void; middleware(): (_req: Request, res: Response, next: NextFunction) => void; getLastMetrics(): MemoryMetrics | undefined; } export declare function createMemoryMonitorMiddleware(options?: MemoryMonitorOptions): { middleware: (req: Request, res: Response, next: NextFunction) => void; monitor: MemoryMonitor; }; export declare function memoryMonitorMiddleware(options?: MemoryMonitorOptions): (req: Request, res: Response, next: NextFunction) => void; export {};