/// import type { FastifyBaseLogger } from "fastify"; import type { Counter } from "prom-client"; export type LoggingImplementation = { log: (...args: unknown[]) => void; error: (...args: unknown[]) => void; }; export declare enum LoggingLevel { trace = 0, debug = 1, info = 2, warn = 3, error = 4, fatal = 5, silent = 6 } export type LoggingLevels = keyof typeof LoggingLevel; export type LoggerOptions = { name: string; logFormat: "json" | null; minLogLevel: LoggingLevels; impl: LoggingImplementation | Console; context?: Record; metricsCounter?: Counter<"level">; }; export declare class Logger { #private; options: LoggerOptions; constructor(options: LoggerOptions); addSecretsToMask(...secrets: (string | undefined)[]): void; getFastifyLogger(): FastifyBaseLogger; child(context: Record): Logger; log(level: LoggingLevels, item: unknown, description?: T, ...extra: unknown[]): undefined | (() => void); fmt(item: unknown): string; private loggerCallback; debug: (item: unknown, description?: T, ...extra: unknown[]) => (() => void) | undefined; info: (item: unknown, description?: T, ...extra: unknown[]) => (() => void) | undefined; warn: (item: unknown, description?: T, ...extra: unknown[]) => (() => void) | undefined; error: (item: unknown, description?: T, ...extra: unknown[]) => (() => void) | undefined; fatal: (item: unknown, description?: T, ...extra: unknown[]) => (() => void) | undefined; }