declare const logLevels: readonly ["silent", "error", "warn", "info", "perf", "debug"];
export type LoggerMethod = 'error' | 'warn' | 'info' | 'perf' | 'log' | 'debug';
export type LogLevel = typeof logLevels[number];
export type ConsoleMethodName = 'log' | 'error' | 'warn' | 'info' | 'debug' | 'group' | 'groupCollapsed' | 'groupEnd';
export type ConsoleMethod = (...args: unknown[]) => void;
export type ConsoleLike = {
    [K in ConsoleMethodName]: ConsoleMethod;
};
export type LoggerSubMethod = 'group' | 'groupCollapsed';
export type LoogerMethod = ConsoleMethod & {
    group(message: string, content: (() => unknown[] | void) | unknown[]): void;
    groupCollapsed(message: string, content: (() => unknown[] | void) | unknown[]): void;
};
export declare class Logger {
    #private;
    error: LoogerMethod;
    warn: LoogerMethod;
    info: LoogerMethod;
    perf: LoogerMethod;
    debug: LoogerMethod;
    log: LoogerMethod;
    constructor(prefix?: string, logLevel?: LogLevel, consoleLikeApi?: ConsoleLike);
    shouldLogLevel(logLevel: LogLevel): boolean;
    get logLevel(): LogLevel;
    set logLevel(logLevel: LogLevel);
}
export {};
