export interface Commerce7Config { appId: string; appSecret: string; tenant: string; baseURL?: string; timeout?: number; maxRetries?: number; } export interface Commerce7RequestOptions { method?: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE'; path: string; query?: Record; body?: any; headers?: Record; timeout?: number; } export interface Commerce7Response { data: T; status: number; headers: Record; pagination?: { cursor?: string; totalCount?: number; }; } export interface PaginationOptions { recordTag?: string; maxPages?: number; onPage?: (page: Commerce7Response, pageNumber: number) => void; } export declare class Commerce7Client { private client; private config; constructor(config: Commerce7Config); /** * Make a request to the Commerce7 API */ request(options: Commerce7RequestOptions): Promise>; /** * GET request */ get(path: string, query?: Record): Promise>; /** * POST request */ post(path: string, body?: any, query?: Record): Promise>; /** * PUT request */ put(path: string, body?: any, query?: Record): Promise>; /** * PATCH request */ patch(path: string, body?: any, query?: Record): Promise>; /** * DELETE request */ delete(path: string, query?: Record): Promise>; /** * Paginate through cursor-based results */ paginate(path: string, query?: Record, options?: PaginationOptions): Promise; /** * Extract pagination info from response */ private extractPagination; /** * Get current tenant */ getTenant(): string; /** * Update tenant (creates new client instance) */ withTenant(tenant: string): Commerce7Client; } export declare class Commerce7Error extends Error { statusCode: number; responseData?: any | undefined; responseHeaders?: Record | undefined; constructor(message: string, statusCode: number, responseData?: any | undefined, responseHeaders?: Record | undefined); } export declare function createClient(config: Commerce7Config): Commerce7Client; export type { Customer, ClubMembership, Order, Product, CustomerAddress, CustomerCreditCard } from './types'; //# sourceMappingURL=index.d.ts.map