export type LogLevel = 'debug' | 'info' | 'warn' | 'error'; export interface LogEntry { timestamp: string; level: LogLevel; message: string; correlationId?: string; [key: string]: unknown; } export interface Logger { debug(message: string, data?: Record): void; info(message: string, data?: Record): void; warn(message: string, data?: Record): void; error(message: string, data?: Record): void; child(defaultData: Record): Logger; } /** * In-memory metrics collector (singleton). * Counters reset on process restart. */ export declare class MetricsCollector { private static instance; toolCallsTotal: number; toolCallErrors: number; tokenRefreshTotal: number; tokenRefreshErrors: number; static getInstance(): MetricsCollector; /** Reset for testing */ static resetInstance(): void; getMetrics(): { toolCallsTotal: number; toolCallErrors: number; tokenRefreshTotal: number; tokenRefreshErrors: number; }; } /** * Get platform-aware default log directory. */ export declare function getDefaultLogDir(): string; /** * Create a structured JSON logger. * logDir defaults to platform-aware directory. * minLevel defaults to 'info' — set to 'debug' for verbose output. * Falls back to stderr if logDir is not writable. */ export declare function createLogger(logDir?: string, minLevel?: LogLevel): Logger; //# sourceMappingURL=logging.d.ts.map