import type { LogContext, Logger, LogLevel } from "../domain/logger.js"; export interface LogRecord { timestamp: string; level: Exclude; message: string; context?: LogContext; } interface StructuredLoggerConfig { level: LogLevel; bindings?: LogContext; sink: (record: LogRecord) => void; nowIso?: () => string; } export declare class StructuredLogger implements Logger { readonly level: LogLevel; private readonly bindings; private readonly sink; private readonly nowIso; constructor(config: StructuredLoggerConfig); child(context: LogContext): Logger; isLevelEnabled(level: LogLevel): boolean; error(message: string, context?: LogContext): void; warn(message: string, context?: LogContext): void; info(message: string, context?: LogContext): void; debug(message: string, context?: LogContext): void; private emit; } export declare function createNoopLogger(): Logger; export {};