import type { LogEvent, AuditLogEvent, ToolCallEvent, ToolResultEvent, ConnectionLogEvent, ErrorLogEvent, MetricsLogEvent, SecurityLogEvent } from "./types.js"; /** * Request context for AsyncLocalStorage */ interface RequestContext { requestId: string; sessionId?: string; clientId?: string; clientName?: string; clientIp?: string; } /** * Logger class with structured logging */ export declare class Logger { private winston; private asyncStorage; constructor(); /** * Set request context for current async operation */ setContext(context: RequestContext): void; /** * Get current request context */ getContext(): RequestContext | undefined; /** * Log a structured event * ALL INPUTS ARE SANITIZED TO PREVENT LOG INJECTION/RCE */ log(event: Partial): void; /** * Log audit event (client activities) */ audit(event: Partial): void; /** * Log tool call */ toolCall(event: Partial): void; /** * Log tool result */ toolResult(event: Partial): void; /** * Log connection event */ connection(event: Partial): void; /** * Log error (sanitized to prevent RCE) */ error(event: Partial | Error, message?: string): void; /** * Log metric */ metric(event: Partial): void; /** * Log security event */ security(event: Partial): void; /** * Generic log methods (all sanitized) */ info(message: string, metadata?: Record): void; warn(message: string, metadata?: Record): void; debug(message: string, metadata?: Record): void; } /** * Singleton logger instance */ export declare const logger: Logger; export {};