import { BaseResponsePayload } from '../..'; import { HttpClient, HttpRequest, HttpResponse } from '../../http-client/http-client'; import { Schema } from '../../serialization/schema'; export interface ApiClientOptions { httpClient: HttpClient; terminalKey: string; password: string; baseUrl?: string; userAgent?: string; } export declare abstract class BaseClient { protected readonly options: ApiClientOptions; constructor(options: ApiClientOptions, defaultOptions?: Partial); abstract sendRequest(options: { request: HttpRequest; requestSchema: Schema; responseSchema: Schema; skipVerification?: boolean; }): Promise>; protected applyBaseUrl(request: HttpRequest): void; protected serializeRequest(request: HttpRequest, schema: Schema): void; protected serializeForm(request: HttpRequest, schema: Schema): void; protected deserializeResponse(response: HttpResponse, schema: Schema): void; protected addSignatureToken(request: HttpRequest): void; protected addTerminalKey(request: HttpRequest): void; protected handleHeaders(request: HttpRequest): void; protected switchToForm(request: HttpRequest): void; }