/** * Telemetry finalization utilities * ✅ Utility functions for finalizing telemetry data and cleanup * ✅ Replaces private methods in service classes */ import { type UnifiedHttpContext } from '@inh-lib/unified-route'; import type { InternalTelemetryMiddlewareConfig } from '../types/middleware.types'; /** * Resource tracker interface (replaces any type) */ interface InternalResourceTracker { stopTracking(startMemory: unknown): { memoryUsageBytes: number; cpuTimeSeconds: number; durationMs: number; }; } /** * Metrics collector interface (replaces any type) */ interface InternalMetricsCollector { recordHttpRequest(labels: Record): void; recordHttpDuration(durationSeconds: number, labels: Record): void; recordHttpMemoryUsage(memoryUsageBytes: number, labels: Record): void; recordHttpCpuUsage(cpuTimeSeconds: number, labels: Record): void; recordSystemMetrics(memoryPercent: number, cpuPercent: number, labels: Record): void; } /** * System metrics monitor interface (replaces any type) */ interface InternalSystemMetricsMonitor { start(): void; getCurrentMetrics(): { memoryUsagePercent: number; cpuUsagePercent: number; }; } /** * Finalize telemetry data and cleanup * ✅ Utility function (not private method) */ export declare function finalizeTelemetryForRequest(context: UnifiedHttpContext, statusCode: number, config: InternalTelemetryMiddlewareConfig, resourceTracker: InternalResourceTracker, metricsCollector: InternalMetricsCollector, contextScope: "API_CONTEXT" | "BUSINESS_LOGIC_CONTEXT"): Promise; /** * Start system metrics monitoring * ✅ Utility function (not private method) */ export declare function startSystemMetricsMonitoring(config: InternalTelemetryMiddlewareConfig, serviceName: string, systemMetricsMonitor: InternalSystemMetricsMonitor, metricsCollector: InternalMetricsCollector): void; export {};