import { AxiosRequestConfig } from 'axios'; import { CacheConfig } from './cache'; import { RequestCacheConfig } from './cache/cache.dto'; import { RetryConfig } from './client.config'; import { ApiConfig, LoggingConfig } from './client.dto'; export declare class HttpClient { private readonly client; private logger; private readonly axiosRetryConfig; private readonly apiConfig; private readonly cacheConfig; constructor(config: { apiConfig: ApiConfig; loggingConfig?: LoggingConfig; axiosRetryConfig?: RetryConfig; cacheConfig?: CacheConfig; }); request(url: string, data?: AxiosRequestConfig['params'], cacheConfig?: RequestCacheConfig): Promise; private getCachedData; private saveCacheIfNeed; private createAxiosClient; private createLogger; private createChildRequestLogger; private buildRetryConfig; private appendLoggingOnRetry; private logError; private logRetrying; private generateRequestId; }