import type { Logger as PinoLogger } from 'pino';
import type { Logger, LogContext } from './types';
/**
 * HestJS Logger 实现
 */
export declare class HestLogger implements Logger {
    private _pino;
    private _context;
    constructor(pinoLogger: PinoLogger);
    /**
     * 获取原始 Pino Logger 实例
     */
    get pino(): PinoLogger;
    /**
     * 设置日志上下文
     */
    setContext(context: LogContext): Logger;
    /**
     * 获取子 Logger
     */
    child(bindings: Record<string, any>): Logger;
    /**
     * 构建日志对象
     */
    private buildLogObject;
    /**
     * Fatal 级别日志
     */
    fatal(message: string, error: Error, ...args: any[]): void;
    fatal(error: Error, message?: string, ...args: any[]): void;
    fatal(obj: object, message?: string, ...args: any[]): void;
    fatal(message: string, ...args: any[]): void;
    /**
     * Error 级别日志
     */
    error(message: string, error: Error, ...args: any[]): void;
    error(error: Error, message?: string, ...args: any[]): void;
    error(obj: object, message?: string, ...args: any[]): void;
    error(message: string, ...args: any[]): void;
    /**
     * Warn 级别日志
     */
    warn(message: string, error: Error, ...args: any[]): void;
    warn(error: Error, message?: string, ...args: any[]): void;
    warn(obj: object, message?: string, ...args: any[]): void;
    warn(message: string, ...args: any[]): void;
    /**
     * Info 级别日志
     */
    info(message: string, error: Error, ...args: any[]): void;
    info(error: Error, message?: string, ...args: any[]): void;
    info(obj: object, message?: string, ...args: any[]): void;
    info(message: string, ...args: any[]): void;
    /**
     * Debug 级别日志
     */
    debug(message: string, error: Error, ...args: any[]): void;
    debug(error: Error, message?: string, ...args: any[]): void;
    debug(obj: object, message?: string, ...args: any[]): void;
    debug(message: string, ...args: any[]): void;
    /**
     * Trace 级别日志
     */
    trace(message: string, error: Error, ...args: any[]): void;
    trace(error: Error, message?: string, ...args: any[]): void;
    trace(obj: object, message?: string, ...args: any[]): void;
    trace(message: string, ...args: any[]): void;
    /**
     * 刷新日志
     */
    flush(): void;
    /**
     * 检查是否启用了指定级别
     */
    isLevelEnabled(level: string): boolean;
}
//# sourceMappingURL=logger.d.ts.map