import type { LoggerOptions } from './logger.types';
import { LogLevel } from './logger.types';
/**
 * 日志格式类型
 */
export declare enum LogFormat {
    /**
     * 文本格式（默认）
     */
    TEXT = "text",
    /**
     * JSON 格式（用于日志聚合）
     */
    JSON = "json",
    /**
     * 结构化格式（用于分析）
     */
    STRUCTURED = "structured"
}
/**
 * 日志上下文
 */
export interface LogContext {
    /**
     * 追踪 ID
     */
    traceId?: string;
    /**
     * 用户 ID
     */
    userId?: string;
    /**
     * 会话 ID
     */
    sessionId?: string;
    /**
     * 请求 ID
     */
    requestId?: string;
    /**
     * 自定义上下文
     */
    [key: string]: unknown;
}
/**
 * 结构化日志条目
 */
export interface StructuredLogEntry {
    /**
     * 时间戳
     */
    timestamp: string;
    /**
     * 日志级别
     */
    level: LogLevel;
    /**
     * 日志消息
     */
    message: string;
    /**
     * 日志数据
     */
    data?: unknown;
    /**
     * 日志上下文
     */
    context?: LogContext;
    /**
     * 日志来源
     */
    source?: string;
    /**
     * 错误堆栈（如果是错误日志）
     */
    stack?: string;
}
/**
 * Logger 类
 */
declare class Logger {
    private level;
    private enableColors;
    private showTimestamp;
    private showLevel;
    private prefix;
    private enableSanitization;
    private isProduction;
    private format;
    private context;
    private logHandlers;
    constructor(options?: LoggerOptions);
    /**
     * 设置日志级别
     */
    setLevel(level: LogLevel): void;
    /**
     * 获取当前日志级别
     */
    getLevel(): LogLevel;
    /**
     * 格式化时间戳
     */
    private formatTimestamp;
    /**
     * 构建日志前缀
     */
    private buildPrefix;
    /**
     * 输出日志（Node.js 环境）
     */
    private logNode;
    /**
     * 输出日志（浏览器环境）
     */
    private logBrowser;
    /**
     * 脱敏处理
     */
    private sanitizeValue;
    /**
     * 处理日志参数（脱敏、过滤等）
     */
    private processLogArgs;
    /**
     * 设置日志格式
     */
    setFormat(format: LogFormat): void;
    /**
     * 设置日志上下文
     */
    setContext(context: LogContext): void;
    /**
     * 更新日志上下文
     */
    updateContext(context: Partial<LogContext>): void;
    /**
     * 获取日志上下文
     */
    getContext(): LogContext;
    /**
     * 清除日志上下文
     */
    clearContext(): void;
    /**
     * 注册日志处理器（用于日志聚合）
     */
    addLogHandler(handler: (entry: StructuredLogEntry) => void): () => void;
    /**
     * 创建结构化日志条目
     */
    private createStructuredEntry;
    /**
     * 输出结构化日志
     */
    private outputStructured;
    /**
     * 通用日志输出方法
     */
    private log;
    /**
     * 输出 DEBUG 级别日志
     */
    debug(...args: unknown[]): void;
    /**
     * 输出 INFO 级别日志
     */
    info(...args: unknown[]): void;
    /**
     * 输出 WARN 级别日志
     */
    warn(...args: unknown[]): void;
    /**
     * 输出 ERROR 级别日志
     */
    error(...args: unknown[]): void;
}
/**
 * 创建 Logger 实例
 */
export declare const createLogger: (options?: LoggerOptions) => Logger;
/**
 * 默认 Logger 实例
 */
export declare const logger: Logger;
/**
 * 导出 Logger 类
 */
export { Logger };
//# sourceMappingURL=logger.d.ts.map