import type { AxiosRequestConfig } from "axios"; import OAuth from "oauth-1.0a"; import type { WooRestApiMethod, IWooRestApiOptions, WooRestApiEndpoint, OrdersMainParams, ProductsMainParams, SystemStatusParams, CouponsParams, CustomersParams, DELETE, Orders, Products, Customers, Coupons, SystemStatus, WooCommerceApiResponse } from "./types/index.js"; import { type RetryStrategy } from "./http/RetryStrategy.js"; import { type Throttler } from "./http/Throttler.js"; export type { WooRestApiMethod, IWooRestApiQuery, IWooRestApiOptions, WooRestApiEndpoint, OrdersMainParams, ProductsMainParams, SystemStatusParams, CouponsParams, CustomersParams, DELETE, Orders, Products, Customers, Coupons, SystemStatus, WooCommerceApiResponse, } from "./types/index.js"; export { WooCommerceApiError, AuthenticationError, OptionsException } from "./types/index.js"; export type WooRestApiOptions = IWooRestApiOptions; export type WooRestApiParams = CouponsParams & CustomersParams & OrdersMainParams & ProductsMainParams & SystemStatusParams & DELETE; export default class WooCommerceRestApi { protected _opt: T; protected _throttler: Throttler; protected _retryStrategy: RetryStrategy; constructor(opt: T); _setDefaultsOptions(opt: T): void; protected createThrottler(max?: number): Throttler; protected createRetryStrategy(cfg?: IWooRestApiOptions["retryConfig"]): RetryStrategy; private _acquireSlot; private _releaseSlot; private _executeWithRetry; _normalizeQueryString(url: string, params: Partial>): string; _getUrl(endpoint: string, params: Partial>): string; _getOAuth(): OAuth; _request(method: WooRestApiMethod, endpoint: string, data?: Record, params?: Record): Promise; get(endpoint: WooRestApiEndpoint, params?: Partial): Promise>; post(endpoint: WooRestApiEndpoint, data: Record, params?: Partial): Promise>; put(endpoint: WooRestApiEndpoint, data: Record, params?: Partial): Promise>; delete(endpoint: WooRestApiEndpoint, data: Pick, params: Pick): Promise>; options(endpoint: WooRestApiEndpoint, params?: Partial): Promise>; getProducts(params?: Record): Promise>; getProduct(id: number): Promise>; createProduct(productData: Partial): Promise>; updateProduct(id: number, productData: Partial): Promise>; getOrders(params?: Record): Promise>; getOrder(id: number): Promise>; createOrder(orderData: Partial): Promise>; getCustomers(params?: Partial): Promise>; getCustomer(id: number): Promise>; getCoupons(params?: Partial): Promise>; getSystemStatus(): Promise>; } export { parsePaginationHeaders, collectAllPages, type PaginationInfo } from "./utils/PaginationHelper.js"; //# sourceMappingURL=index.d.ts.map