/** * Logger Types * * Type definitions for logging system */ export declare enum LogLevel { DEBUG = 0, INFO = 1, WARN = 2, ERROR = 3, CRITICAL = 4, SILENT = 5 } export interface LogContext { [key: string]: unknown; userId?: string; sessionId?: string; organizationId?: string; workspaceId?: string; projectId?: string; component?: string; action?: string; } export interface LogEntry { level: LogLevel; message: string; timestamp: number; logger: string; context?: LogContext; error?: Error; data?: unknown; } export interface LogTransport { name: string; level?: LogLevel; log: (entry: LogEntry) => void; flush?: () => void | Promise; close?: () => void | Promise; } export interface LoggerConfig { name?: string; level?: LogLevel; context?: LogContext; transports?: LogTransport[]; enabled?: boolean; } export interface ILogger { debug(message: string, data?: unknown): void; info(message: string, data?: unknown): void; warn(message: string, data?: unknown): void; error(message: string, error?: Error | unknown): void; critical(message: string, error?: Error | unknown): void; setLevel(level: LogLevel): void; setContext(context: Partial): void; addTransport(transport: LogTransport): void; removeTransport(transportName: string): void; child(name: string, context?: Partial): ILogger; } export interface ILogManager { getLogger(name?: string): ILogger; setGlobalContext(context: Partial): void; getGlobalContext(): LogContext; setGlobalLevel(level: LogLevel): void; getGlobalLevel(): LogLevel; addGlobalTransport(transport: LogTransport): void; removeGlobalTransport(transportName: string): void; flush(): Promise; close(): Promise; } //# sourceMappingURL=types.d.ts.map