import { IContextProvider } from '../../domain/interfaces/IContextProvider'; import { ILogBuffer } from '../../domain/interfaces/ILogBuffer'; import { ILogFilter } from '../../domain/interfaces/ILogFilter'; import { HealthStatus, ILogger, LoggerMetrics } from '../../domain/interfaces/ILogger'; import { ILogTransport } from '../../domain/interfaces/ILogTransport'; import type { LogLevel } from '../../domain/value-objects/LogLevel'; export declare class LogService implements ILogger { private readonly filter; private readonly buffer; private readonly transport; private readonly contextProvider; private readonly config; private metrics; private startTime; private metricsCollector; private readonly hostname; private readonly pid; private readonly maxConcurrentFlushes; private readonly maxPendingBatches; private destroyed; private destroyPromise?; private logSequence; private lastResourceSampleAt; private readonly resourceSampleIntervalMs; private readonly flushQueue; private inFlightFlushes; private idleResolvers; private queueDroppedEntries; private lastFlushWarningAt; constructor(filter: ILogFilter, buffer: ILogBuffer, transport: ILogTransport, contextProvider: IContextProvider, config: { appName: string; version: string; environment: string; labels: Record; dynamicLabels: Record string | number>; enableMetrics: boolean; maxConcurrentFlushes: number; maxPendingBatches: number; shutdownTimeoutMillis?: number; }); private initializeMetrics; debug(message: string, context?: Record): void; info(message: string, context?: Record): void; warn(message: string, context?: Record): void; error(message: string, context?: Record): void; fatal(message: string, context?: Record): void; withContext(context: Record, fn: () => T): T; withContextAsync(context: Record, fn: () => Promise): Promise; log(level: LogLevel, message: string, context?: Record): void; trackEvent(eventName: string, properties?: Record): void; private createLogEntry; flush(): Promise; private enqueueFlush; private processFlushQueue; private sendFlushBatch; private notifyIfQueueIdle; private waitForQueueIdle; getMetrics(): LoggerMetrics; getHealth(): HealthStatus; destroy(): Promise; private destroyInternal; private updateMetrics; } //# sourceMappingURL=LogService.d.ts.map