import { Awaitable, Getter } from '@blackglory/prelude'; import { ITransport, Level } from "./types.js"; export interface ILoggerOptions { level: Level; transport: ITransport; namespace?: string; } export declare class Logger { private options; constructor(options: ILoggerOptions); trace(message: string | Getter, elapsedTime?: number): void; traceAsync(message: Awaitable | Getter>, elapsedTime?: number): Promise; info(message: string | Getter, elapsedTime?: number): void; infoAsync(message: Awaitable | Getter>, elapsedTime?: number): Promise; debug(message: string | Getter, elapsedTime?: number): void; debugAsync(message: Awaitable | Getter>, elapsedTime?: number): Promise; warn(message: string | Getter, elapsedTime?: number): void; warnAsync(message: Awaitable | Getter>, elapsedTime?: number): Promise; error(message: string | Getter, elapsedTime?: number): void; errorAsync(message: Awaitable | Getter>, elapsedTime?: number): Promise; fatal(message: string | Getter, elapsedTime?: number): void; fatalAsync(message: Awaitable | Getter>, elapsedTime?: number): Promise; traceTime(message: string | Getter, expression: () => T): T; traceTimeAsync(message: Awaitable | Getter>, expression: () => Awaitable): Promise; infoTime(message: string | Getter, expression: () => T): T; infoTimeAsync(message: Awaitable | Getter>, expression: () => Awaitable): Promise; debugTime(message: string | Getter, expression: () => T): T; debugTimeAsync(message: Awaitable | Getter>, expression: () => Awaitable): Promise; warnTime(message: string | Getter, expression: () => T): T; warnTimeAsync(message: Awaitable | Getter>, expression: () => Awaitable): Promise; errorTime(message: string | Getter, expression: () => T): T; errorTimeAsync(message: Awaitable | Getter>, expression: () => Awaitable): Promise; fatalTime(message: string | Getter, expression: () => T): T; fatalTimeAsync(message: Awaitable | Getter>, expression: () => Awaitable): Promise; traceTimeFunction(message: string | Getter, fn: (...args: Args) => Result): (...args: Args) => Result; traceTimeAsyncFunction(message: Awaitable | Getter>, fn: (...args: Args) => Awaitable): (...args: Args) => Promise; infoTimeFunction(message: string | Getter, fn: (...args: Args) => Result): (...args: Args) => Result; infoTimeAsyncFunction(message: Awaitable | Getter>, fn: (...args: Args) => Awaitable): (...args: Args) => Promise; debugTimeFunction(message: string | Getter, fn: (...args: Args) => Result): (...args: Args) => Result; debugTimeAsyncFunction(message: Awaitable | Getter>, fn: (...args: Args) => Awaitable): (...args: Args) => Promise; warnTimeFunction(message: string | Getter, fn: (...args: Args) => Result): (...args: Args) => Result; warnTimeAsyncFunction(message: Awaitable | Getter>, fn: (...args: Args) => Awaitable): (...args: Args) => Promise; errorTimeFunction(message: string | Getter, fn: (...args: Args) => Result): (...args: Args) => Result; errorTimeAsyncFunction(message: Awaitable | Getter>, fn: (...args: Args) => Awaitable): (...args: Args) => Promise; fatalTimeFunction(message: string | Getter, fn: (...args: Args) => Result): (...args: Args) => Result; fatalTimeAsyncFunction(message: Awaitable | Getter>, fn: (...args: Args) => Awaitable): (...args: Args) => Promise; private logByLevel; private logByLevelAsync; private logTimeByLevel; private logTimeByLevelAsync; private logTimeFunctionByLevel; private logTimeAsyncFunctionByLevel; private send; private sendAsync; }