import { DisputeStatus } from './Dispute'; import { IRefund } from '.'; export declare enum CaptureStrategy { automatic = "automatic", manual = "manual" } export declare enum PaymentMethodTypes { card = "card", bankAccount = "bankAccount", sezzle = "sezzle", plaid = "plaid", applePay = "applePay" } export declare enum PaymentTypes { card = "Card", bankAccount = "ACH", unknown = "Unknown" } export declare enum PaymentStatuses { pending = "pending", automatic = "automatic", authorized = "authorized", succeeded = "succeeded", failed = "failed", canceled = "canceled", disputed = "disputed", fully_refunded = "fully_refunded", partially_refunded = "partially_refunded" } export declare enum CurrencyTypes { usd = "usd", cad = "cad" } export interface IPaymentMethod { card?: Card; bank_account?: BankAccount; } export declare class PaymentMethod implements IPaymentMethod { card?: Card; bank_account?: BankAccount; constructor(paymentMethod: IPaymentMethod); get payersName(): string | null; get lastFourDigits(): string | null; } export type CardBrand = 'american_express' | 'diners_club' | 'discover' | 'jcb' | 'mastercard' | 'china_unionpay' | 'visa' | 'unknown'; export interface IBankAccount { id: string; acct_last_four: string; name: string; brand: string; token: string; created_at: string; updated_at: string; } export declare class BankAccount implements IBankAccount { id: string; acct_last_four: string; name: string; brand: string; token: string; created_at: string; updated_at: string; constructor(bankAccount: IBankAccount); } export interface ICard { id: string; acct_last_four: string; name: string; brand: CardBrand; token: string; created_at: string; updated_at: string; } export declare class Card implements ICard { id: string; acct_last_four: string; name: string; brand: CardBrand; token: string; created_at: string; updated_at: string; constructor(card: ICard); } export interface IPaymentDispute { amount_cents: number; created_at: string; currency: CurrencyTypes; gateway_ref_id: string; id: string; payment_id: string; reason: null; status: string; updated_at: string; } export interface IPayment { id: string; account_id: string; amount: number; amount_disputed: number; amount_refundable: number; amount_refunded: number; amount_returned?: number; balance: number; captured: boolean; capture_strategy: CaptureStrategy; currency: CurrencyTypes; description: string; disputed: boolean; disputes: IPaymentDispute[]; error_code: string | null; error_description: string | null; expedited?: boolean; fee_amount: number; is_test: boolean; metadata: Object | null; payment_method: IPaymentMethod; payment_intent_id?: string | null; refunded: boolean; status: PaymentStatuses; created_at: string; updated_at: string; financial_transaction_id: string; returned: boolean; application_fee: IApplicationFee; application_fee_rate_id?: string; refunds: IRefund[]; transaction_hold?: null; statement_descriptor?: string; } export declare class Payment implements IPayment { id: string; account_id: string; amount: number; amount_disputed: number; amount_refundable: number; amount_refunded: number; balance: number; captured: boolean; capture_strategy: CaptureStrategy; currency: CurrencyTypes; description: string; disputed: boolean; disputes: IPaymentDispute[]; error_code: string | null; error_description: string | null; expedited: boolean; fee_amount: number; is_test: boolean; metadata: Object | null; payment_method: PaymentMethod; payment_intent_id: string | null; refunded: boolean; status: PaymentStatuses; created_at: string; updated_at: string; statement_descriptor?: string; financial_transaction_id: string; returned: boolean; application_fee: IApplicationFee; refunds: IRefund[]; transaction_hold: null; constructor(payment: IPayment); get disputedStatus(): DisputeStatus | null; get payment_type(): PaymentTypes; get payers_name(): string | null; get last_four_digits(): string | null; formattedPaymentAmount(amount: number): string; } export interface IApplicationFee { id: string; amount: number; currency: CurrencyTypes; created_at: string; updated_at: string; } export interface PaymentsQueryParams { payment_id?: string; terminal_id?: string; payment_status?: PaymentStatuses; payment_mode?: string; checkout_id?: string; account_holder?: string; created_after?: string; created_before?: string; }