import { ApiLogEntry, HttpMethod, ILogger, LoggerConfig, LogMiddleware, MiddlewareFunction, PerformanceEntry } from '../types'; export declare class Logger implements ILogger { private writers; private formatter; private context; private config; private requestId?; private sessionId?; private userId?; private middlewares; constructor(config?: Partial); use(middleware: MiddlewareFunction | LogMiddleware): void; removeMiddleware(middlewareName: string): void; clearMiddlewares(): void; private setupMiddlewares; private setupWriters; private setupFormatter; private generateRequestId; private sanitizeString; private shouldLog; private writeLog; private executeMiddlewarePipeline; private processLogEntry; private maskSensitiveDataInEntry; debug(message: string, context?: Record): void; info(message: string, context?: Record): void; warn(message: string, context?: Record): void; error(message: string, error?: Error, context?: Record): void; fatal(message: string, error?: Error, context?: Record): void; private log; logApiRequest(method: HttpMethod, url: string, options?: Partial): void; logApiResponse(method: HttpMethod, url: string, statusCode: number, responseTime: number, options?: Partial): void; logApiError(method: HttpMethod, url: string, error: Error, options?: Partial): void; startTimer(operation: string): () => void; logPerformance(entry: PerformanceEntry): void; setContext(key: string, value: unknown): void; getContext(): Record; clearContext(): void; setSessionId(sessionId: string): void; setUserId(userId: string): void; child(context: Record): ILogger; }