import { KiotVietClient } from '../client'; import { KiotVietListResponse, CustomerCreateParams, CustomerUpdateParams } from '../types'; import { Customer } from '../types'; export declare class CustomerHandler { private client; constructor(client: KiotVietClient); /** * List customers with optional filtering * @param params Filter parameters (pageSize, currentItem) * Documentation: GET /customers */ list(params?: Record): Promise>; /** * Get a customer by their ID * @param customerId The ID of the customer to retrieve * Documentation: GET /customers/{id} */ getById(customerId: number): Promise; /** * Create a new customer * @param customerData The customer data to create * Documentation: POST /customers */ create(customerData: CustomerCreateParams): Promise; /** * Search customers by keyword * @param query Search query * @param params Additional filter parameters */ search(query: string, params?: Record): Promise>; /** * Get customers by group ID * @param groupId The ID of the customer group * @param params Additional filter parameters */ getByGroup(groupId: number, params?: Record): Promise>; /** * Get customer by contact number * @param contactNumber The customer's contact number */ getByContactNumber(contactNumber: string): Promise; /** * Update an existing customer * @param customerId The ID of the customer to update * @param customerData The customer data to update * Documentation: PUT /customers/{id} */ update(customerId: number, customerData: Partial): Promise; /** * Delete a customer * @param customerId The ID of the customer to delete * Documentation: DELETE /customers/{id} */ delete(customerId: number): Promise; }