import { Axios } from 'axios';
import { BadRequest } from '../interface';
import { CreateSplit, ListSplitQueryParams, ListSplitsResponse, Response, SplitCreatedResponse, SplitSubAccount, TransactionSplitResponse, UpdateTransactionSplit, UpdateTransactionSplitResponse } from './interface';
/**
 * The Transaction Splits API enables merchants
 * split the settlement for a transaction across
 * their payout account, and one or more Subaccounts.
 */
export declare class TransactionSplit {
    private http;
    constructor(http: Axios);
    /**
     * Create a split payment on your integration
     */
    create(data: CreateSplit): Promise<SplitCreatedResponse | BadRequest>;
    /**
     * List/search for the transaction splits available on your integration.
     */
    list(queryParams?: ListSplitQueryParams): Promise<ListSplitsResponse | BadRequest>;
    /**
     * Get details of a split on your integration.
     */
    fetch(splitId: string): Promise<TransactionSplitResponse | BadRequest>;
    /**
     * Update a transaction split details on your integration
     */
    update(splitId: string, data: UpdateTransactionSplit): Promise<UpdateTransactionSplitResponse | BadRequest>;
    /**
     * Add a Subaccount to a Transaction Split,
     * or update the share of an existing Subaccount in a Transaction Split
     */
    add(splitId: string, data: SplitSubAccount): Promise<TransactionSplitResponse | BadRequest>;
    /**
     * Remove a subaccount from a transaction split
     */
    remove(splitId: string, subaccount: string): Promise<Response | BadRequest>;
}
