import { type RequestInit } from 'node-fetch';
import { CommunicatorConfiguration } from '../CommunicatorConfiguration.js';
import { RequestHeaderGenerator } from '../RequestHeaderGenerator.js';
export declare const MERCHANT_ID_REQUIRED_ERROR = "Merchant ID is required";
export declare const COMMERCE_CASE_ID_REQUIRED_ERROR = "Commerce Case ID is required";
export declare const CHECKOUT_ID_REQUIRED_ERROR = "Checkout ID is required";
export declare class BaseApiClient {
    protected static parseVoid(): void;
    protected static parseJson<T>(body: string): T;
    protected readonly requestHeaderGenerator: RequestHeaderGenerator;
    protected readonly config: CommunicatorConfiguration;
    constructor(config: CommunicatorConfiguration);
    protected getRequestHeaderGenerator(): RequestHeaderGenerator | undefined;
    protected getConfig(): CommunicatorConfiguration;
    protected makeApiCall<T>(url: string, requestInit: RequestInit, parseBody?: (body: string) => T): Promise<T>;
}
