import * as stream from "node:stream"; import { LogContext } from "../commons/log_context.js"; import { Node } from "../commons/node.js"; import { SyslogLevel } from "../commons/syslog.js"; export declare const $log: unique symbol; export interface BaseLoggerOptions { level?: SyslogLevel; name?: string; queueSizeLimit?: number; parent?: Logger; captureStackTrace?: boolean; captureISOTime?: boolean; } export declare abstract class BaseLogger extends Node, LogContext> { level: SyslogLevel; protected _name?: string; protected _captureStackTrace: boolean; protected _captureISOTime: boolean; protected _queueSizeLimit?: number; constructor(options?: BaseLoggerOptions, streamOptions?: stream.TransformOptions); protected [$log](message: MessageT, label: string | undefined, level: SyslogLevel): void; } export declare class Logger extends BaseLogger { debug: (message: MessageT, label?: string) => void; info: (message: MessageT, label?: string) => void; notice: (message: MessageT, label?: string) => void; warn: (message: MessageT, label?: string) => void; error: (message: MessageT, label?: string) => void; crit: (message: MessageT, label?: string) => void; alert: (message: MessageT, label?: string) => void; emerg: (message: MessageT, label?: string) => void; setLevel: (level: SyslogLevel) => void; } export declare const root: Logger;