import { CreateCustomerPayload } from "../models/customers/create-payload.model"; import { CustomerSearchConfiguration } from "../models/customers/search-configuration.model"; import { UpdateCustomerPayload } from "../models/customers/update-payload.model"; import { DefaultConfigurationOmitQs } from "../models/default-configuration.model"; import { CallbackFunction } from "../shared/types"; import { ExecOptions, MercadoPagoResponse } from "../utils/mercadopago-respose"; import { MercadoPagoCard } from "./cards"; export type CustomerCreateResponse = MercadoPagoResponse< ExecOptions >; export type CustomerUpdateResponse = MercadoPagoResponse< ExecOptions >; export type CustomerGetResponse = MercadoPagoResponse>; export type CustomerSearchResponse = MercadoPagoResponse>; export type CustomerDeleteResponse = MercadoPagoResponse>; export interface MercadoPagoCustomer { create( payload: CreateCustomerPayload, configuration?: DefaultConfigurationOmitQs, callback?: CallbackFunction, ): Promise; /** Alias for `create` method. */ save( payload: CreateCustomerPayload, configuration?: DefaultConfigurationOmitQs, callback?: CallbackFunction, ): Promise; update( payload: UpdateCustomerPayload, configuration?: DefaultConfigurationOmitQs, callback?: CallbackFunction, ): Promise; get( id: string, configuration?: DefaultConfigurationOmitQs, callback?: CallbackFunction, ): Promise; /** Alias for `get` method. */ findById( id: string, configuration?: DefaultConfigurationOmitQs, callback?: CallbackFunction, ): Promise; search(configuration: CustomerSearchConfiguration, callback?: CallbackFunction): Promise; remove( id: string, configuration?: DefaultConfigurationOmitQs, callback?: CallbackFunction, ): Promise; cards: MercadoPagoCard; }