import { RequestMetadata, FeedsClientOptions } from './types';
import { TokenManager } from './TokenManager';
import { ConnectionIdManager } from './ConnectionIdManager';
export declare class ApiClient {
    readonly apiKey: string;
    private readonly tokenManager;
    private readonly connectionIdManager;
    readonly baseUrl: string;
    private readonly axiosInstance;
    private timeout;
    constructor(apiKey: string, tokenManager: TokenManager, connectionIdManager: ConnectionIdManager, options?: FeedsClientOptions);
    sendRequest: <T>(method: string, url: string, pathParams?: Record<string, string>, queryParams?: Record<string, any>, body?: any, requestContentType?: string) => Promise<{
        body: T;
        metadata: RequestMetadata;
    }>;
    get webSocketBaseUrl(): string;
    private get commonHeaders();
    private isAxiosError;
    private readonly queryParamsStringify;
    private readonly getRequestMetadata;
}
