import { OnModuleInit, OnModuleDestroy } from '@nestjs/common'; export interface MemorySample { timestamp: number; heapUsed: number; heapTotal: number; rss: number; external: number; arrayBuffers: number; heapSizeLimit: number; detachedContexts: number; } export type MemoryTrend = 'stable' | 'growing' | 'likely_leak'; export interface MemoryReport { current: MemorySample; trend: MemoryTrend; leakScore: number; leakScoreBreakdown: { growthRate: number; detachedContexts: number; sustained: number; }; windowSize: number; samples: MemorySample[]; topMemoryRequests: RequestMemoryDelta[]; gcAvailable: boolean; alerts: string[]; } export interface RequestMemoryDelta { method: string; url: string; heapDeltaBytes: number; timestamp: number; durationMs: number; } export declare class MemoryService implements OnModuleInit, OnModuleDestroy { private readonly logger; private samples; private requestDeltas; private pollTimer; onModuleInit(): void; onModuleDestroy(): void; private takeSample; snapshotBefore(): number; recordDelta(method: string, url: string, heapBefore: number, durationMs: number): void; private computeTrend; getReport(): MemoryReport; forceGc(): { success: boolean; message: string; heapFreedBytes?: number; }; takeSnapshot(): { success: boolean; filePath?: string; message: string; }; private buildCurrentSample; }