import type { Clock } from "./abstractions.js"; import { Redactor } from "./redaction.js"; export type LogLevel = "debug" | "info" | "warn" | "error"; export interface SafeLogMetadata { tool?: string; region?: string; status?: string; durationMs?: number; requestId?: string; operationId?: string; errorCode?: string; retryable?: boolean; } export interface SafeLogRecord extends SafeLogMetadata { timestamp: string; level: LogLevel; event: string; } export type SafeLogSink = (record: Readonly) => void; export interface SafeLoggerOptions { sink?: SafeLogSink; redactor?: Redactor; clock?: Clock; minimumLevel?: LogLevel; } export declare class SafeLogger { #private; constructor(options?: SafeLoggerOptions); debug(event: string, metadata?: SafeLogMetadata): void; info(event: string, metadata?: SafeLogMetadata): void; warn(event: string, metadata?: SafeLogMetadata): void; error(event: string, metadata?: SafeLogMetadata): void; log(level: LogLevel, event: string, metadata?: SafeLogMetadata): void; } //# sourceMappingURL=logger.d.ts.map