import type { LogData } from "../../../types/common-types.js"; export type DebugLogEntry = { timestamp: number; level: "debug" | "info" | "warn" | "error"; pipelineId?: string; category?: string; message?: string; data?: LogData; }; export type TransformationLogEntry = DebugLogEntry & { ruleId?: string; stage?: string; }; export type ProviderRequestLogEntry = DebugLogEntry & { request?: LogData; response?: LogData; }; type LoggerOptions = { maxEntries?: number; enableConsoleLogging?: boolean; }; export declare class PipelineDebugLogger { private readonly options; private readonly requestLogs; private readonly pipelineLogs; private readonly transformations; private readonly providerLogs; private readonly recentLogs; private readonly providerDetailConsoleLoggingEnabled; private colored?; constructor(_config?: unknown, options?: LoggerOptions); logModule(module: string, action: string, data?: LogData): void; logError(error: unknown, context?: LogData): void; logDebug(message: string, data?: LogData): void; logPipeline(pipelineId: string, action: string, data?: LogData): void; logRequest(requestId: string, action: string, data?: LogData): void; logVirtualRouterHit(routeName: string, providerKey: string, model?: string, sessionId?: string): void; logResponse(requestId: string, action: string, data?: LogData): void; logTransformation(requestId: string, action: string, before?: LogData, after?: LogData): void; logProviderRequest(requestId: string, action: string, request?: LogData, response?: LogData): void; getRequestLogs(requestId: string): { general: DebugLogEntry[]; transformations: TransformationLogEntry[]; provider: ProviderRequestLogEntry[]; }; getPipelineLogs(pipelineId: string): { general: DebugLogEntry[]; transformations: TransformationLogEntry[]; provider: ProviderRequestLogEntry[]; }; getRecentLogs(count?: number): DebugLogEntry[]; getTransformationLogs(): TransformationLogEntry[]; getProviderLogs(): ProviderRequestLogEntry[]; getStatistics(): { totalLogs: number; logsByLevel: Record; logsByCategory: Record; logsByPipeline: Record; transformationCount: number; providerRequestCount: number; }; clearLogs(): void; exportLogs(format?: "json" | "csv"): DebugLogEntry[] | string[]; log(level: DebugLogEntry["level"], pipelineId: string, category: string, message: string, data?: LogData): void; private record; private appendScoped; private enforceLimit; private aggregateByField; } export {};