import 'reflect-metadata'; import { type LoggingConfigType, type LogTransportInterface, type LogTransportType } from '../common'; import type ProviderRegistry from '../provider/provider.registry'; import { RegistryAbstract, type RegistryBuildMapResult } from '../regsitry'; import { type LoggerRecord } from './logger.types'; export default class LoggerRegistry extends RegistryAbstract { config: LoggingConfigType; constructor(globalProviders: ProviderRegistry); protected buildGraph(): void; protected buildMap(list: LogTransportType[]): RegistryBuildMapResult; protected initialize(): Promise; /** The mutable transports array — shared by all loggers via getTransports closure. */ private _transports; protected bindLogger(): void; /** * Add a transport to the logger pipeline after initialization. * * The transport will receive all future log records. Existing child loggers * created via logger.child() will also receive logs through this transport * because they share the same getTransports closure. * * Used by the observability system to inject StructuredLogTransport * after plugin initialization. */ addTransport(transport: LogTransportInterface): void; /** * Remove the built-in ConsoleLogTransportInstance. * * Called when observability structured logging replaces it with a * ConsoleSink that provides human-readable output with trace context. * Prevents double console output. */ removeConsoleTransport(): void; } //# sourceMappingURL=logger.registry.d.ts.map