export declare enum RefundStatuses {
    succeeded = "succeeded",
    failed = "failed"
}
export declare enum RefundReasons {
    customerRequest = "customer_request",
    duplicate = "duplicate",
    fraudulent = "fraudulent"
}
export interface IRefundPayload {
    amount?: number;
    reason?: RefundReasons;
    description?: string;
    metadata?: any;
}
export declare class RefundPayload implements IRefundPayload {
    amount: number;
    reason: RefundReasons;
    description?: string;
    metadata?: any;
    constructor(refundPayload: IRefundPayload);
}
export interface IRefund {
    amount: number;
    created_at: string;
    description: string;
    id: string;
    metadata: object | null;
    payment_id: string;
    reason: RefundReasons | null;
    status: RefundStatuses;
    updated_at: string;
}
export declare class Refund implements IRefund {
    amount: number;
    created_at: string;
    description: string;
    id: string;
    metadata: object | null;
    payment_id: string;
    reason: RefundReasons | null;
    status: RefundStatuses;
    updated_at: string;
    constructor(refund: Refund);
}
