import { AxiosInstance, AxiosRequestConfig } from 'axios'; import { CreateCustomerRequest, CreateCustomerResponse, CreatePaymentWhiteLabelResponse, CreatePaymentNonWhiteLabelResponse, CreateProductResponse, GetCustomerResponse, GetCustomersResponse, GetProductResponse, GetProductsResponse, Customer, Payment, UpdateCustomerResponse, UpdateProductResponse, DeletePaymentResponse, CreateProductRequest, UpdateProductRequest } from './types/API'; import { SellixAPIConfig } from './types/SellixAPIConfig'; export default class SellixAPI { readonly config: SellixAPIConfig; readonly request: AxiosInstance; constructor(apiConfig: SellixAPIConfig, requestConfig?: AxiosRequestConfig); getCustomers: () => Promise; createCustomer: (params: CreateCustomerRequest) => Promise; updateCustomer: (customerId: string, params: Omit, 'id'>) => Promise; getCustomer: (customerId: string) => Promise; createPayment: (paymentDetails: Payment) => Promise; deletePayment: (uniqid: string) => Promise; getProducts: () => Promise; getProduct: (productId: string) => Promise; createProduct: (params: CreateProductRequest) => Promise; updateProduct: (productId: string, params: UpdateProductRequest) => Promise; }