import type { LogLevel } from './types.js';
export declare function setVerbose(verbose: boolean): void;
export declare function getVerbose(): boolean;
export declare function setJsonMode(json: boolean): void;
export declare function getJsonMode(): boolean;
export interface InitFileLoggerOptions {
    version?: string;
    command?: string;
}
export declare function initFileLogger(logFileName: string, options?: InitFileLoggerOptions): Promise<void>;
export declare function closeFileLogger(): Promise<void>;
export declare function setLogLevel(level: LogLevel): void;
export declare function debug(message: string, ...args: unknown[]): void;
export declare function info(message: string, ...args: unknown[]): void;
export declare function warn(message: string, ...args: unknown[]): void;
export declare function error(message: string, ...args: unknown[]): void;
export declare function log(level: LogLevel, message: string, ...args: unknown[]): void;
export declare class Logger {
    private readonly context?;
    constructor(context?: string | undefined);
    private formatContext;
    debug(message: string, ...args: unknown[]): void;
    info(message: string, ...args: unknown[]): void;
    warn(message: string, ...args: unknown[]): void;
    error(message: string, ...args: unknown[]): void;
    log(level: LogLevel, message: string, ...args: unknown[]): void;
}
export declare function createLogger(context: string): Logger;
export declare function createNoOpLogger(): Logger;
//# sourceMappingURL=logger.d.ts.map