import { REST } from '@abacatepay/rest'; import type { APIWithdraw, RESTGetCheckQRCodePixStatusData, RESTGetListBillingsData, RESTGetListCouponsData, RESTGetListCustomersData, RESTGetListWithdrawsData, RESTGetMerchantData, RESTGetMRRData, RESTGetStoreDetailsData, RESTPostCreateCouponBody, RESTPostCreateCouponData, RESTPostCreateCustomerBody, RESTPostCreateCustomerData, RESTPostCreateNewChargeBody, RESTPostCreateNewChargeData, RESTPostCreateNewWithdrawBody, RESTPostCreateNewWithdrawData, RESTPostCreateQRCodePixBody, RESTPostSimulatePaymentData } from '@abacatepay/types/v1'; import type { AbacatePayOptions } from './types'; export * from './types'; /** * This is the main entry point for interacting with the AbacatePay API, * providing high-level, domain-oriented methods on top of the REST client. */ export declare const AbacatePay: ({ secret, rest }: AbacatePayOptions) => { /** * Low-level REST client instance. * * Exposes the raw REST interface in case you need direct access * to HTTP methods or custom routes. */ rest: REST; /** * Customer management operations. */ customers: { /** * Create a new customer. * * @param body Customer creation payload. * @returns The created customer. */ create(body: RESTPostCreateCustomerBody): Promise; /** * List customers. * * @returns The list of customers. */ list(): Promise; }; /** * Billing management operations. */ billings: { /** * Create a new checkout. * * @param body Checkout creation payload. * @returns The created checkout. */ create(body: RESTPostCreateNewChargeBody): Promise; /** * List all checkouts. * * @returns A list of checkouts. */ list(): Promise; }; /** * PIX payment operations. */ pix: { /** * Create a new PIX QR Code payment. * * @param body PIX creation payload. * @returns The created PIX QR Code. */ create(body: RESTPostCreateQRCodePixBody): Promise; /** * Simulate a PIX payment for testing purposes. * * @param id PIX transaction ID. * @param metadata Optional metadata to attach to the simulation. * @returns The simulated payment result. */ simulate(id: string, metadata?: Record): Promise; /** * Retrieve the current status of a PIX payment. * * @param id PIX transaction ID. * @returns The PIX payment status. */ status(id: string): Promise; }; /** * Coupon management operations. */ coupons: { /** * Create a new coupon. * * @param body Coupon creation payload. * @returns The created coupon. */ create(body: RESTPostCreateCouponBody): Promise; /** * List coupons. * * @returns A list of coupons. */ list(): Promise; }; /** * Withdraw management operations. */ withdraw: { /** * Create a new withdraw. * * @param body Withdraw creation payload. * @returns The created withdraw. */ create(body: RESTPostCreateNewWithdrawBody): Promise; /** * List withdraw. * * @returns A list of withdraw. */ list(): Promise; /** * Retrieve a withdraw by ID. * * @param id Withdraw ID. * @returns Withdraw details. */ get(id: string): Promise; }; /** * Store-related operations. */ store: { /** * Retrieve store details. * * @returns Store information. */ get(): Promise; }; /** * Monthly recurring revenue (MRR) and analytics. */ mrr: { /** * Retrieve MRR metrics. * * @returns MRR data. */ get(): Promise; /** * Retrieve revenue data for a specific period. * * @returns Revenue metrics for the period. */ renevue(start: string, end: string): Promise<{ totalRevenue: number; totalTransactions: number; transactionPerDay: Record; }>; /** * Retrieve merchant-level revenue data. * * @returns Merchant revenue data. */ merchant(): Promise; }; };