import { DateTimeUtc } from '../../datetime/dt.js';
export declare enum LogLevel {
    Debug = 0,
    Info = 1,
    Warn = 2,
    Error = 3
}
export interface ILogEntry {
    get when(): DateTimeUtc;
    get level(): LogLevel;
    get message(): string;
    get fields(): Record<string, unknown>;
    toString(inColor: boolean): string;
}
export interface ILogTarget {
    supportColor: boolean;
    log(entry: ILogEntry): void;
}
export interface ILogOracle {
    set target(log: ILogTarget | undefined);
    get supportColor(): boolean;
    debug(message: string, fields?: Record<string, unknown>): void;
    info(message: string, fields?: Record<string, unknown>): void;
    warn(message: string, fields?: Record<string, unknown>): void;
    error(message: string, fields?: Record<string, unknown>): void;
}
