/**
 * 统一日志系统 - 项目唯一日志入口
 * 整合所有现有日志功能，提供统一接口
 * Project Owner: Jason Zhang
 */
export type LogLevel = 'error' | 'warn' | 'info' | 'debug';
export type LogCategory = 'request' | 'response' | 'pipeline' | 'error' | 'performance' | 'system' | 'tool_call' | 'streaming' | 'finish_reason';
interface LogEntry {
    timestamp: string;
    beijingTime: string;
    level: LogLevel;
    category: LogCategory;
    message: string;
    data?: any;
    port: number;
    requestId?: string;
    stage?: string;
    duration?: number;
}
interface LoggerConfig {
    port: number;
    logLevel?: LogLevel;
    enableConsole?: boolean;
    enableFile?: boolean;
    baseDir?: string;
    rotationMinutes?: number;
    maxRetentionDays?: number;
}
export declare class UnifiedLogger {
    private config;
    private logDir;
    private currentRotationDir;
    private lastRotationTime;
    private initialized;
    constructor(config: LoggerConfig);
    private initialize;
    private updateRotationDir;
    private ensureRotation;
    private getBeijingTime;
    private shouldLog;
    private formatEntry;
    private writeToFile;
    private writeToFinishReasonFile;
    writeToFinishReasonDebugFile(entry: LogEntry): Promise<void>;
    private outputToConsole;
    log(category: LogCategory, level: LogLevel, message: string, data?: any, requestId?: string, stage?: string, duration?: number): void;
    error(message: string, data?: any, requestId?: string, stage?: string): void;
    warn(message: string, data?: any, requestId?: string, stage?: string): void;
    info(message: string, data?: any, requestId?: string, stage?: string): void;
    debug(message: string, data?: any, requestId?: string, stage?: string): void;
    logRequest(requestId: string, method: string, path: string, data?: any): void;
    logResponse(requestId: string, status: number, data?: any, duration?: number): void;
    logPipeline(stage: string, message: string, data?: any, requestId?: string): void;
    logPerformance(operation: string, duration: number, data?: any, requestId?: string): void;
    logToolCall(message: string, data?: any, requestId?: string, stage?: string): void;
    logStreaming(message: string, data?: any, requestId?: string, stage?: string): void;
    logFinishReason(finishReason: string, data?: any, requestId?: string, stage?: string): void;
    logDualFinishReason(originalReason: string, convertedReason: string, provider: string, data?: any, requestId?: string, stage?: string): void;
    logStopReason(stopReason: string, data?: any, requestId?: string, stage?: string): void;
    cleanup(): Promise<number>;
    shutdown(): Promise<void>;
}
export {};
//# sourceMappingURL=unified-logger.d.ts.map