import type { Getter } from '../types/getter.js'; export type LoggerFunction = (...args: any[]) => void; export interface ILogger { readonly log: LoggerFunction; readonly warn: LoggerFunction; readonly error: LoggerFunction; } export interface ILoggerSwitchable { enable(): void; disable(): void; } export type LogLevelTypes = keyof ILogger; export declare const LogLevels: { readonly log: 1; readonly warn: 2; readonly error: 3; }; export type LogLevelValues = typeof LogLevels[LogLevelTypes]; export type LoggerTypes = 'console'; export type LoggerModes = LoggerTypes | false | Getter; export type ILoggerFactory = (name: string | undefined, mode?: LoggerModes) => ILogger;