/** * Logger interface for HttpClient */ export interface HttpLogger { debug: (message: string, meta?: Record) => void; error: (message: string, meta?: Record) => void; info: (message: string, meta?: Record) => void; warn: (message: string, meta?: Record) => void; } export declare const setHttpLogger: (logger: HttpLogger) => void; /** * Shared HTTP client with connection management and pooling * Prevents connection exhaustion and improves performance */ export declare class HttpClient { private static instance; private readonly agents; private readonly userAgent; private constructor(); static getInstance(userAgent?: string): HttpClient; /** * Set custom user agent for all requests */ setUserAgent(userAgent: string): void; /** * Get or create HTTP agent for a domain with connection pooling */ private getAgent; /** * Make HTTP request with proper connection management using axios */ fetch(url: string, options?: RequestInit): Promise; /** * Cleanup unused connections (called periodically) */ cleanup(): void; /** * Graceful shutdown - close all connections */ shutdown(): Promise; } export declare const getHttpClient: (userAgent?: string) => HttpClient; //# sourceMappingURL=HttpClient.d.ts.map