import { AxiosInstance } from "axios"; import { HttpMethod, ComgateClientProps } from "./types"; import { CreateRequest, CreateResponse } from "./types/endpoints/create"; import { CancelRequest, CancelResponse } from "./types/endpoints/cancel"; import { RecurringRequest, RecurringResponse } from "./types/endpoints/recurring"; import { RefundRequest, RefundResponse } from "./types/endpoints/refund"; import { CapturePreAuthRequest, CapturePreAuthResponse } from "./types/endpoints/capturePreauth"; import { CancelPreAuthRequest, CancelPreAuthResponse } from "./types/endpoints/cancelPreauth"; import { MethodsBadRequestResponse, MethodsSuccessResponse, MethodsRequest } from "./types/endpoints/methods"; import { StatusRequest, StatusResponse } from "./types/endpoints/status"; import { URLEnum } from "./utils/parse-response"; interface ApiRequest { path: URLEnum; method: HttpMethod; headers?: Record; body?: Record; query?: Record; } export default class ComgateClient { private apiBaseUrl; private apiVersion; private readonly merchant; private readonly secret; private readonly test; protected readonly axiosInstance: AxiosInstance; constructor({ merchant, secret, test }: ComgateClientProps); protected callApi(request: ApiRequest): Promise; create(request: CreateRequest): Promise; cancel(request: CancelRequest): Promise; recurring(request: RecurringRequest): Promise; refund(request: RefundRequest): Promise; capturePreauth(request: CapturePreAuthRequest): Promise; cancelPreauth(request: CancelPreAuthRequest): Promise; methods(request: MethodsRequest): Promise; status(request: StatusRequest): Promise; } export {};