import * as z from "zod/v4-mini";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { DisputeStatus } from "./disputestatus.js";
/**
 * Dispute associated with a refund,
 *
 * @remarks
 * in case we prevented a dispute by issuing a refund.
 */
export type RefundDispute = {
    /**
     * Creation timestamp of the object.
     */
    createdAt: Date;
    /**
     * Last modification timestamp of the object.
     */
    modifiedAt: Date | null;
    /**
     * The ID of the object.
     */
    id: string;
    status: DisputeStatus;
    /**
     * Whether the dispute has been resolved (won or lost).
     */
    resolved: boolean;
    /**
     * Whether the dispute is closed (prevented, won, or lost).
     */
    closed: boolean;
    /**
     * Amount in cents disputed.
     */
    amount: number;
    /**
     * Tax amount in cents disputed.
     */
    taxAmount: number;
    /**
     * Currency code of the dispute.
     */
    currency: string;
    /**
     * The reason for the dispute as reported by the card network (e.g. `fraudulent`, `product_not_received`). `None` until the processor reports it.
     */
    reason: string | null;
    /**
     * Deadline to submit evidence in response to the dispute. `None` when no response is required.
     */
    evidenceDueBy: Date | null;
    /**
     * Whether the evidence submission deadline has passed.
     */
    pastDue: boolean;
    /**
     * The ID of the order associated with the dispute.
     */
    orderId: string;
    /**
     * The ID of the payment associated with the dispute.
     */
    paymentId: string;
};
/** @internal */
export declare const RefundDispute$inboundSchema: z.ZodMiniType<RefundDispute, unknown>;
/** @internal */
export type RefundDispute$Outbound = {
    created_at: string;
    modified_at: string | null;
    id: string;
    status: string;
    resolved: boolean;
    closed: boolean;
    amount: number;
    tax_amount: number;
    currency: string;
    reason: string | null;
    evidence_due_by: string | null;
    past_due: boolean;
    order_id: string;
    payment_id: string;
};
/** @internal */
export declare const RefundDispute$outboundSchema: z.ZodMiniType<RefundDispute$Outbound, RefundDispute>;
export declare function refundDisputeToJSON(refundDispute: RefundDispute): string;
export declare function refundDisputeFromJSON(jsonString: string): SafeParseResult<RefundDispute, SDKValidationError>;
//# sourceMappingURL=refunddispute.d.ts.map