import { HttpRequestOptions } from './request';
export type Refund = {
    object: string;
    id: string;
    charge_id: string;
    creation_date: number;
    amount: number;
    reason: string;
    metadata: Record<string, string>;
};
export type CreateRefundRequest = {
    amount: number;
    charge_id: string;
    reason: string;
};
export type GetRefundRequest = {
    id: string;
};
export type GetRefundsRequest = {
    creation_date?: string;
    creation_date_from?: string;
    creation_date_to?: string;
    reason?: string;
    limit?: string;
    before?: string;
    after?: string;
};
export type GetRefundsResponse = {
    data: Refund[];
    paging: {
        previous: string;
        next: string;
        cursors: {
            before: string;
            after: string;
        };
        remaining_items: number;
    };
};
export type UpdateRefundRequest = {
    id: string;
    metadata?: Record<string, string>;
};
export declare const refunds: {
    createRefund: (req: CreateRefundRequest, extraHttpOptions?: Partial<HttpRequestOptions>) => Promise<Refund>;
    getRefund: (req: GetRefundRequest, extraHttpOptions?: Partial<HttpRequestOptions>) => Promise<Refund>;
    getRefunds: (req?: GetRefundsRequest, extraHttpOptions?: Partial<HttpRequestOptions>) => Promise<GetRefundsResponse>;
    updateRefunds: (req: UpdateRefundRequest, extraHttpOptions?: Partial<HttpRequestOptions>) => Promise<Refund>;
};
