type LogType = 'log' | 'info' | 'warn' | 'error' | 'debug' | 'table' | 'trace' | 'group' | 'groupEnd' | 'time' | 'timeEnd';
type AllowedLogs = Set<LogType>;
interface LoggerConfig {
    allowed?: AllowedLogs;
}
interface LogParams {
    title?: string;
    msg: any;
    force?: boolean;
}
/**
 * TinyLogger: a minimal but extensible logger for Node.js and browser.
 */
declare class TinyLogger {
    private readonly allowed;
    constructor(config?: LoggerConfig);
    private shouldLog;
    private format;
    log({ title, msg, force }: LogParams): void;
    info({ title, msg, force }: LogParams): void;
    warn({ title, msg, force }: LogParams): void;
    error({ title, msg, force }: LogParams): void;
    debug({ title, msg, force }: LogParams): void;
    trace(msg: any): void;
    table({ msg, force }: {
        msg: any;
        force?: boolean;
    }): void;
    group(label: string): void;
    groupEnd(): void;
    time(label: string): void;
    timeEnd(label: string): void;
}
/**
 * Default exported instance for convenience.
 */
declare const logger: TinyLogger;

export { type AllowedLogs, type LogParams, type LogType, type LoggerConfig, TinyLogger, logger as default };
