import { BaseEntity } from "./base.entity";
import { User } from "./user.entity";
export declare enum StripeTransactionTypeEnum {
    ADD_FUNDS = "ADD_FUNDS",
    TRANSFER = "TRANSFER",
    WITHDRAW = "WITHDRAW",
    INVOICE_PAYMENT = "INVOICE_PAYMENT",
    REFUND = "REFUND"
}
export declare enum StripeTransactionStatusEnum {
    PENDING = "PENDING",
    PROCESSING = "PROCESSING",
    COMPLETED = "COMPLETED",
    FAILED = "FAILED",
    EXPIRED = "EXPIRED",
    CANCELLED = "CANCELLED"
}
export declare class StripeTransaction extends BaseEntity {
    userId: number;
    user: User;
    stripeSessionId: string;
    stripePaymentIntentId: string;
    stripeChargeId: string;
    stripeReceiptUrl: string;
    stripeBalanceTransactionId: string;
    stripePaymentMethod: string | null;
    stripePaymentStatus: string | null;
    type: StripeTransactionTypeEnum;
    currency: string;
    desiredDepositCents: number;
    platformFeeCents: number;
    taxCents: number | null;
    estimatedStripeFee: number | null;
    estimatedTotalCents: number | null;
    actualStripeFee: number | null;
    actualTotalPaidCents: number | null;
    netReceivedCents: number | null;
    description: string;
    status: StripeTransactionStatusEnum;
    checkoutSessionCompletedAt: Date;
    completedAt: Date;
    billingDetails: Record<string, any> | null;
    paymentMethodDetails: Record<string, any> | null;
    rawSessionPayload: Record<string, any> | null;
    rawSessionResponse: Record<string, any> | null;
}
