import Service from "../../service";
import Client from "../../client";
import { IRequest } from "../../typings/requestOptions";
import { BalanceAccount } from "../../typings/balancePlatform/models";
import { BalanceAccountInfo } from "../../typings/balancePlatform/models";
import { BalanceAccountUpdateRequest } from "../../typings/balancePlatform/models";
import { PaginatedPaymentInstrumentsResponse } from "../../typings/balancePlatform/models";
import { TransactionRulesResponse } from "../../typings/balancePlatform/models";
/**
 * API handler for BalanceAccountsApi
 */
export declare class BalanceAccountsApi extends Service {
    private readonly API_BASEPATH;
    private baseUrl;
    constructor(client: Client);
    /**
    * @summary Create a balance account
    * @param balanceAccountInfo {@link BalanceAccountInfo }
    * @param requestOptions {@link IRequest.Options }
    * @return {@link BalanceAccount }
    */
    createBalanceAccount(balanceAccountInfo: BalanceAccountInfo, requestOptions?: IRequest.Options): Promise<BalanceAccount>;
    /**
    * @summary Get all transaction rules for a balance account
    * @param id {@link string } The unique identifier of the balance account.
    * @param requestOptions {@link IRequest.Options }
    * @return {@link TransactionRulesResponse }
    */
    getAllTransactionRulesForBalanceAccount(id: string, requestOptions?: IRequest.Options): Promise<TransactionRulesResponse>;
    /**
    * @summary Get a balance account
    * @param id {@link string } The unique identifier of the balance account.
    * @param requestOptions {@link IRequest.Options }
    * @return {@link BalanceAccount }
    */
    getBalanceAccount(id: string, requestOptions?: IRequest.Options): Promise<BalanceAccount>;
    /**
    * @summary Get payment instruments linked to a balance account
    * @param id {@link string } The unique identifier of the balance account.
    * @param requestOptions {@link IRequest.Options }
    * @param offset {@link number } The number of items that you want to skip.
    * @param limit {@link number } The number of items returned per page, maximum 100 items. By default, the response returns 10 items per page.
    * @param status {@link string } The status of the payment instruments that you want to get. By default, the response includes payment instruments with any status.
    * @return {@link PaginatedPaymentInstrumentsResponse }
    */
    getPaymentInstrumentsLinkedToBalanceAccount(id: string, offset?: number, limit?: number, status?: string, requestOptions?: IRequest.Options): Promise<PaginatedPaymentInstrumentsResponse>;
    /**
    * @summary Update a balance account
    * @param id {@link string } The unique identifier of the balance account.
    * @param balanceAccountUpdateRequest {@link BalanceAccountUpdateRequest }
    * @param requestOptions {@link IRequest.Options }
    * @return {@link BalanceAccount }
    */
    updateBalanceAccount(id: string, balanceAccountUpdateRequest: BalanceAccountUpdateRequest, requestOptions?: IRequest.Options): Promise<BalanceAccount>;
}
