import { PersonInterface } from "./index.js"; export type DonationStatus = "pending" | "complete" | "failed"; export interface DonationBatchInterface { id?: string; name?: string; batchDate?: string; donationCount?: number; totalAmount?: number; } export interface DonationInterface { id?: string; batchId?: string; personId?: string; donationDate?: string; amount?: number; currency?: string; method?: string; methodDetails?: string; notes?: string; status?: DonationStatus; person?: PersonInterface; fund?: FundInterface; } export interface DonationSummaryInterface { week: number; donations?: DonationSummaryDonation[]; } export interface DonationSummaryDonation { totalAmount: number; fund?: FundInterface; } export interface FundInterface { id: string; name: string; taxDeductible?: boolean; amount?: number; visible?: boolean; } export interface FundDonationInterface { id?: string; donationId?: string; fundId?: string; amount?: number; currency?: string; donation?: DonationInterface; } export interface CampaignInterface { id?: string; churchId?: string; fundId?: string; name?: string; description?: string; goalAmount?: number; startDate?: string; endDate?: string; showPublic?: boolean; allowSelfPledge?: boolean; } export interface PledgeInterface { id?: string; churchId?: string; campaignId?: string; personId?: string; amount?: number; } export type PledgeStatus = "notStarted" | "inProgress" | "fulfilled" | "beyondPledged" | "nonPledged"; export interface PledgeProgressRowInterface { campaignId?: string; campaignName?: string; personId?: string; pledgeId?: string; pledgedAmount?: number; givenAmount?: number; status?: PledgeStatus; } export interface CampaignProgressInterface { campaign?: CampaignInterface; totalPledged?: number; totalGiven?: number; pledgeCount?: number; donorCount?: number; rows?: PledgeProgressRowInterface[]; } export interface MyPledgeInterface { pledge?: PledgeInterface; campaign?: CampaignInterface; givenAmount?: number; status?: PledgeStatus; } export interface PaymentMethodInterface { id?: string; churchId?: string; personId?: string; customerId?: string; email?: string; name?: string; provider?: "stripe" | "paypal"; type?: "card" | "bank" | "paypal"; last4?: string; gatewayId?: string; } export interface StripeCardUpdateInterface { paymentMethodId: string; cardData: StripeCardDataInterface; personId?: string; } export interface StripeCardDataInterface { card: StripeCardExpirationInterface; } export interface StripeCardExpirationInterface { exp_month: string; exp_year: string; } export interface StripeBankAccountInterface { account_holder_name: any; account_holder_type: any; country: string; currency: string; account_number: any; routing_number: any; } export interface StripeBankAccountUpdateInterface { paymentMethodId: string; customerId: string; personId?: string; bankData: StripeBankAccountHolderDataInterface; } export interface StripeBankAccountHolderDataInterface { account_holder_name: string; account_holder_type: string; } export interface StripeBankAccountVerifyInterface { customerId: string; paymentMethodId: string; amountData: { amounts: string[]; }; } export interface StripePersonDonationInterface { id: string; email: string; name: string; } export interface StripeFundDonationInterface { id: string; amount: number; name?: string; } export interface StripeDonationInterface { id?: string; type?: string; amount?: number; currency?: string; customerId?: string; billing_cycle_anchor?: number; proration_behavior?: string; interval?: StripeDonationIntervalInterface; person?: StripePersonDonationInterface; funds?: StripeFundDonationInterface[]; notes?: string; churchId?: string; } export interface StripeDonationIntervalInterface { interval: string; interval_count: number; } export interface SubscriptionInterface { id: string; funds: []; billing_cycle_anchor: number; default_payment_method: string; default_source: string; plan: { amount: number; currency?: string; interval: string; interval_count: number; }; customer: string; gatewayId?: string; currency?: string; } export interface PayPalPaymentMethodInterface { id: string; type: "paypal"; name: string; last4?: string; email?: string; } export interface PayPalDonationInterface { gatewayId?: string; } export interface PaymentGatewayInterface { id: string; provider: "stripe" | "paypal"; publicKey: string; enabled: boolean; } export interface MultiGatewayDonationInterface { id: string; type: "card" | "bank" | "paypal"; provider: "stripe" | "paypal"; customerId?: string; person?: { id?: string; email?: string; name?: string; }; amount: number; billing_cycle_anchor?: number; interval?: { interval_count: number; interval: string; }; funds?: FundDonationInterface[]; notes?: string; gatewayId?: string; } export declare class StripePaymentMethod { id: string; type: string; name: string; last4: string; exp_month?: string; exp_year?: string; status?: string; account_holder_name?: string; account_holder_type?: string; constructor(obj?: any); } //# sourceMappingURL=Donation.d.ts.map