import type { Writable } from 'node:stream'; export type LogLevel = 'error' | 'warn' | 'info' | 'debug'; export interface LoggerOptions { level?: LogLevel; json?: boolean; component?: string; scope?: string; destination?: Writable; minimal?: boolean; sink?: (record: LogRecord) => void; } export interface LogMeta { [key: string]: unknown; } export interface LogRecord extends LogMeta { timestamp: string; level: LogLevel; message: string; component?: string; scope?: string; } export declare class Logger { private readonly level; private readonly json; private readonly component?; private readonly scope?; private readonly stream; private readonly minimal; private readonly sink?; constructor(options?: LoggerOptions); child(overrides: LoggerOptions): Logger; log(level: LogLevel, message: string, meta?: LogMeta): void; info(message: string, meta?: LogMeta): void; warn(message: string, meta?: LogMeta): void; error(message: string, meta?: LogMeta): void; debug(message: string, meta?: LogMeta): void; private shouldLog; } export declare function createLogger(options?: LoggerOptions): Logger; export declare function normalizeLogLevel(input?: string | null): LogLevel; export declare const logger: Logger; //# sourceMappingURL=logger.d.ts.map