import type { WooOrder, WooOrderNote, WooProduct, WooCategory, WooCustomer, WooSalesReport, WooTopSellerReport, OrderStatus, ProductStatus, StockStatus } from "./types/woo-types.js"; export interface WooConfig { url: string; consumerKey: string; consumerSecret: string; timeout?: number; } export declare class WooCommerceError extends Error { readonly code: string; readonly statusCode: number; constructor(message: string, code: string, statusCode: number); } export declare class WooCommerceClient { private readonly http; constructor(config: WooConfig); private handleError; listOrders(params?: { status?: OrderStatus; after?: string; before?: string; customer?: number; product?: number; per_page?: number; page?: number; search?: string; orderby?: "date" | "id" | "total"; order?: "asc" | "desc"; }): Promise; getOrder(id: number): Promise; updateOrderStatus(id: number, status: OrderStatus, note?: string): Promise; getOrderNotes(orderId: number): Promise; createOrderNote(orderId: number, note: string, customerNote?: boolean): Promise; listProducts(params?: { status?: ProductStatus; stock_status?: StockStatus; category?: string; search?: string; per_page?: number; page?: number; featured?: boolean; on_sale?: boolean; orderby?: "date" | "id" | "title" | "price" | "popularity" | "rating"; order?: "asc" | "desc"; min_price?: string; max_price?: string; }): Promise; getProduct(id: number): Promise; updateProduct(id: number, data: Partial<{ name: string; status: ProductStatus; regular_price: string; sale_price: string; stock_quantity: number; manage_stock: boolean; stock_status: StockStatus; description: string; short_description: string; featured: boolean; }>): Promise; getLowStockProducts(threshold?: number): Promise; getProductCategories(params?: { per_page?: number; page?: number; hide_empty?: boolean; orderby?: "id" | "name" | "slug" | "count"; order?: "asc" | "desc"; }): Promise; listCustomers(params?: { per_page?: number; page?: number; search?: string; email?: string; orderby?: "id" | "include" | "name" | "registered_date"; order?: "asc" | "desc"; role?: string; }): Promise; getCustomer(id: number): Promise; getCustomerOrders(customerId: number, params?: { per_page?: number; status?: OrderStatus; }): Promise; getSalesReport(params?: { period?: "week" | "month" | "last_month" | "year"; date_min?: string; date_max?: string; }): Promise; getTopSellingProducts(params?: { period?: "week" | "month" | "last_month" | "year"; date_min?: string; date_max?: string; }): Promise; getOrderStatusCounts(): Promise>; getRevenueSummary(period?: "week" | "month" | "last_month" | "year"): Promise<{ total_sales: string; total_orders: number; total_items: number; net_sales: string; average_order_value: string; period: string; }>; } export declare function getClient(): WooCommerceClient; //# sourceMappingURL=woo-client.d.ts.map