export type LogLevel = 'debug' | 'info' | 'warn' | 'error' | 'none';
export interface LoggerOptions {
    logger?: Logger;
    logLevel?: LogLevel;
    label?: string;
    write?: (data: unknown[], level?: LogLevel) => void;
}
export interface Logger {
    logLevel?: LogLevel;
    debug(...data: any[]): void;
    info(...data: any[]): void;
    warn(...data: any[]): void;
    error(...data: any[]): void;
}
/**
 * Basic logger implementation
 */
export declare class BasicLogger implements Logger {
    readonly options: LoggerOptions;
    label: string;
    private readonly logger;
    private _logLevel;
    constructor(options?: LoggerOptions);
    get logLevel(): LogLevel;
    set logLevel(value: LogLevel);
    write: (data: unknown[], level: Exclude<LogLevel, "none">) => void;
    info(...data: unknown[]): void;
    warn(...data: unknown[]): void;
    error(...data: unknown[]): void;
    debug(...data: unknown[]): void;
}
export declare const logger: BasicLogger;
