import { DefaultConfigurationOmitQs, SearchConfiguration } from "../models/default-configuration.model"; import { CapturePartialPaymentPayload } from "../models/payment/capture-partial-payload.model"; import { CreatePaymentPayload } from "../models/payment/create-payload.model"; import { UpdatePaymentPayload } from "../models/payment/update-payload.model"; import { CallbackFunction } from "../shared/types"; import { ExecOptions, MercadoPagoResponse } from "../utils/mercadopago-respose"; export type PaymentCreateResponse = MercadoPagoResponse>; export type PaymentUpdateResponse = MercadoPagoResponse>; export type PaymentGetResponse = MercadoPagoResponse>; export type PaymentSearchResponse = MercadoPagoResponse>; export interface MercadoPagoPayment { create( payload: CreatePaymentPayload, configuration?: DefaultConfigurationOmitQs, callback?: CallbackFunction, ): Promise; /** Alias for `create` method. */ save( payload: CreatePaymentPayload, configuration?: DefaultConfigurationOmitQs, callback?: CallbackFunction, ): Promise; update( payload: UpdatePaymentPayload, configuration?: DefaultConfigurationOmitQs, callback?: CallbackFunction, ): Promise; get( id: number, configuration?: DefaultConfigurationOmitQs, callback?: CallbackFunction, ): Promise; capture( id: number, configuration?: DefaultConfigurationOmitQs, callback?: CallbackFunction, ): Promise; capturePartial( payload: CapturePartialPaymentPayload, configuration?: DefaultConfigurationOmitQs, callback?: CallbackFunction, ): Promise; /** Alias for `get` method. */ findById( id: number, configuration?: DefaultConfigurationOmitQs, callback?: CallbackFunction, ): Promise; search(configuration: SearchConfiguration, callback?: CallbackFunction): Promise; /** Cancel payment */ cancel( id: number, configuration?: DefaultConfigurationOmitQs, callback?: CallbackFunction, ): Promise; // Complete and partial refund refund(id: number): Promise; refundPartial({ payment_id, amount, }: { payment_id: number; amount: number; }): Promise; }