import { Axios } from "axios"; import { QuickBooksConfig } from "./types/Index"; import { Endpoint } from "../types"; import { Customer } from "./types/Customer"; import { Item } from "./types/Item"; import { Invoice } from "./types/Invoice"; import { Payment } from "./types/Payment"; import { TaxRate, TaxCode } from "./types/TaxRate"; import { Preferences } from "./types/Preferences"; interface IQuickBooks { config: QuickBooksConfig; endpoint: Endpoint; axiosInstance: Axios; customer: {}; item: {}; tax: {}; invoice: {}; payment: {}; preferences: {}; } export default class QuickBooks implements IQuickBooks { config: QuickBooksConfig; endpoint: Endpoint; axiosInstance: Axios; private headers; constructor(config: QuickBooksConfig); private _fetch; private _create; private _update; customer: { _path: string; query: (params: Customer.Find.Params) => Promise; create: (body: Customer.Create.Body) => Promise; update: (body: Customer.Update.Body) => Promise; }; item: { _path: string; query: (params: Item.Find.Params) => Promise; create: (body: Item.Create.Body) => Promise; update: (body: Item.Update.Body) => Promise; }; tax: { _path: string; query: (params: TaxRate.Find.Params) => Promise; }; taxCode: { _path: string; query: (params: TaxCode.Find.Params) => Promise; }; invoice: { _path: string; query: (params: Invoice.Find.Params) => Promise; create: (params: Invoice.Create.Body) => Promise; find: (params: Invoice.Find.Params) => Promise; }; payment: { _path: string; create: (params: Payment.Create.Body) => Promise; }; preferences: { _path: string; query: ( params: Preferences.Find.Params ) => Promise; update: ( params: Preferences.Create.Body ) => Promise; }; return_invoice: { _path: string; query: (params: Invoice.Find.Params) => Promise; create: (params: Invoice.Create.Body) => Promise; find: (params: Invoice.Find.Params) => Promise; }; } export {};