import type { AnyExecutionContext } from '../execution-context/ExecutionContext'; export declare enum LogLevel { Off = 0, Error = 1, Warn = 2, Log = 3, Debug = 4, Verbose = 5 } type LogMethod = (typeof console)['log']; export type OnLogCallback = (level: LogLevel, metadata: Record, ...args: unknown[]) => void; export type LoggerEffect = ReturnType>['effect']['logger']; export type LogProvider = { error: LogMethod; warn: LogMethod; log: LogMethod; debug: LogMethod; verbose: LogMethod; }; declare class Logger { private readonly parent?; private readonly logMetadata?; private logLevel; private logProvider; private readonly logCallbacks; constructor(parent?: Logger, metadata?: Record); get verbose(): { (...data: any[]): void; (message?: any, ...optionalParams: any[]): void; }; get debug(): { (...data: any[]): void; (message?: any, ...optionalParams: any[]): void; }; get log(): { (...data: any[]): void; (message?: any, ...optionalParams: any[]): void; }; get warn(): { (...data: any[]): void; (message?: any, ...optionalParams: any[]): void; }; get error(): { (...data: any[]): void; (message?: any, ...optionalParams: any[]): void; }; get level(): LogLevel; get provider(): LogProvider; get metadata(): Record; setLevel(level: LogLevel): void; setProvider(provider: LogProvider): void; addOnLogCallback(callback: OnLogCallback): () => void; private get onLogCallbacks(); private resolveMethod; } export declare const LoggerEffectFactory: (metadata?: Record) => import("../effect/Types").EffectFactory; export {};