import pino from 'pino'; export type LogLevel = 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'fatal'; export interface LoggerSentryOptions { dsn: string; serverName: string; release: string; tracesSampleRate: number; debug: boolean; level: 'debug' | 'info' | 'warning' | 'error' | 'fatal'; tagKeys?: string[]; excludeKeys?: string[]; } export interface LoggerOptions { name: string; level?: LogLevel; async?: boolean; sentry?: LoggerSentryOptions; } export declare class Logger { options: LoggerOptions; inner: pino.Logger; constructor(options: LoggerOptions); child(bindings: pino.Bindings): Logger; trace(msg: string, o?: object, ...args: any[]): void; debug(msg: string, o?: object, ...args: any[]): void; info(msg: string, o?: object, ...args: any[]): void; warn(msg: string, o?: object, ...args: any[]): void; warning(msg: string, o?: object, ...args: any[]): void; error(msg: string, o?: object, ...args: any[]): void; fatal(msg: string, o?: object, ...args: any[]): void; crit(msg: string, o?: object, ...args: any[]): void; critical(msg: string, o?: object, ...args: any[]): void; } export declare const createLogger: (options: LoggerOptions) => Logger;