/** * Parameters used to define or update a customer. */ export type CustomerParams = { /** * Customer's name. */ name?: string; /** * Customer's email address. */ email?: string; /** * Customer's phone number. */ phone?: string; /** * Initial balance assigned to the customer. */ balance?: number; }; /** * Options for creating a customer. */ export type CustomerCreateOption = { /** * Determines whether the customer should be created uniquely. * If true, ensures no duplicate customers are created based on unique constraints. */ distinct: boolean; }; /** * Options for listing customers. */ export type CustomerListOption = { /** * Maximum number of customers to retrieve in a single request. */ limit?: number; /** * Search term for filtering customers. * Can be used to filter by name, email, or other customer attributes. */ search?: string; }; /** * Representation of a customer. */ export type Customer = { /** * Unique identifier for the customer. */ id: string; /** * Customer's name. */ name: string; /** * Customer's email address. */ email: string; /** * Customer's phone number. Optional field. */ phone?: string; /** * Current balance associated with the customer. Optional field. */ balance?: number; };