/** * @copyright Sister Software * @license AGPL-3.0 * @author Teffen Ellis, et al. */ import type { BaseLogger as PinoBaseLogger, Level as PinoLevel, LogFn as PinoLogFn, Logger as PinoLogger } from "pino"; export type Logger = PinoLogger; export type Level = PinoLevel; export type LogFn = PinoLogFn; export type BaseLogger = Pick>; /** * Labels log levels in the browser console. */ export declare const LogLevelLabel: { readonly info: "[INFO]"; readonly warn: "[WARN]"; readonly error: "[ERROR]"; readonly debug: "[DEBUG]"; readonly trace: "[TRACE]"; readonly fatal: "[FATAL]"; }; /** * Predefined log levels. */ export declare const LogLevels: Level[]; type LoggerFactory = (prefix?: string | null, ...args: string[]) => Logger; /** * Creates a logger with the given prefix. */ export declare const createConsoleLogger: LoggerFactory; export type BaseConsoleLogger = Record; export type IRuntimeLogger = BaseConsoleLogger; /** * Creates a logger with the given prefix. */ export declare function createLogger(prefix?: string, ...args: string[][]): Logger; /** * A singleton logger instance for the browser. * * ```js * import { ConsoleLogger } from "@mailwoman/core/logging" * * ConsoleLogger.info("Hello, world!") * ``` * * @implements {IRuntimeLogger} */ export declare class ConsoleLogger { static info: typeof console.info; static warn: typeof console.warn; static error: typeof console.error; static debug: typeof console.debug; static trace: typeof console.trace; /** * Creates a logger with the given prefix. */ static prefix(logPrefix: string): Logger; } export {}; //# sourceMappingURL=shared.d.ts.map