import * as z from "zod/v4-mini";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { PaymentProcessor } from "./paymentprocessor.js";
import { PaymentStatus } from "./paymentstatus.js";
import { PaymentTrigger } from "./paymenttrigger.js";
/**
 * Schema of a payment with a generic payment method.
 */
export type GenericPayment = {
    /**
     * Creation timestamp of the object.
     */
    createdAt: Date;
    /**
     * Last modification timestamp of the object.
     */
    modifiedAt: Date | null;
    /**
     * The ID of the object.
     */
    id: string;
    processor: PaymentProcessor;
    status: PaymentStatus;
    /**
     * The payment amount in cents.
     */
    amount: number;
    /**
     * The payment currency. Currently, only `usd` is supported.
     */
    currency: string;
    /**
     * The payment method used.
     */
    method: string;
    /**
     * What initiated this payment attempt, e.g. initial purchase, subscription renewal, or an automated dunning retry.
     */
    trigger: PaymentTrigger | null;
    /**
     * Error code, if the payment was declined.
     */
    declineReason: string | null;
    /**
     * Human-readable error message, if the payment was declined.
     */
    declineMessage: string | null;
    /**
     * The ID of the organization that owns the payment.
     */
    organizationId: string;
    /**
     * The ID of the checkout session associated with this payment.
     */
    checkoutId: string | null;
    /**
     * The ID of the order associated with this payment.
     */
    orderId: string | null;
    /**
     * Additional metadata from the payment processor for internal use.
     */
    processorMetadata?: {
        [k: string]: any;
    } | undefined;
};
/** @internal */
export declare const GenericPayment$inboundSchema: z.ZodMiniType<GenericPayment, unknown>;
export declare function genericPaymentFromJSON(jsonString: string): SafeParseResult<GenericPayment, SDKValidationError>;
//# sourceMappingURL=genericpayment.d.ts.map