import Service from "../../service";
import Client from "../../client";
import { IRequest } from "../../typings/requestOptions";
import { BalanceWebhookSettingInfo } from "../../typings/balancePlatform/models";
import { BalanceWebhookSettingInfoUpdate } from "../../typings/balancePlatform/models";
import { WebhookSetting } from "../../typings/balancePlatform/models";
import { WebhookSettings } from "../../typings/balancePlatform/models";
/**
 * API handler for BalancesApi
 */
export declare class BalancesApi extends Service {
    private readonly API_BASEPATH;
    private baseUrl;
    constructor(client: Client);
    /**
    * @summary Create a balance webhook setting
    * @param balancePlatformId {@link string } The unique identifier of the balance platform.
    * @param webhookId {@link string } The unique identifier of the balance webhook.
    * @param balanceWebhookSettingInfo {@link BalanceWebhookSettingInfo }
    * @param requestOptions {@link IRequest.Options }
    * @return {@link WebhookSetting }
    */
    createWebhookSetting(balancePlatformId: string, webhookId: string, balanceWebhookSettingInfo: BalanceWebhookSettingInfo, requestOptions?: IRequest.Options): Promise<WebhookSetting>;
    /**
    * @summary Delete a balance webhook setting by id
    * @param balancePlatformId {@link string } The unique identifier of the balance platform.
    * @param webhookId {@link string } The unique identifier of the balance webhook.
    * @param settingId {@link string } The unique identifier of the balance webhook setting.
    * @param requestOptions {@link IRequest.Options }
    * @return {@link void }
    */
    deleteWebhookSetting(balancePlatformId: string, webhookId: string, settingId: string, requestOptions?: IRequest.Options): Promise<void>;
    /**
    * @summary Get all balance webhook settings
    * @param balancePlatformId {@link string } The unique identifier of the balance platform.
    * @param webhookId {@link string } The unique identifier of the balance webhook.
    * @param requestOptions {@link IRequest.Options }
    * @return {@link WebhookSettings }
    */
    getAllWebhookSettings(balancePlatformId: string, webhookId: string, requestOptions?: IRequest.Options): Promise<WebhookSettings>;
    /**
    * @summary Get a balance webhook setting by id
    * @param balancePlatformId {@link string } The unique identifier of the balance platform.
    * @param webhookId {@link string } The unique identifier of the balance webhook.
    * @param settingId {@link string } The unique identifier of the balance webhook setting.
    * @param requestOptions {@link IRequest.Options }
    * @return {@link WebhookSetting }
    */
    getWebhookSetting(balancePlatformId: string, webhookId: string, settingId: string, requestOptions?: IRequest.Options): Promise<WebhookSetting>;
    /**
    * @summary Update a balance webhook setting by id
    * @param balancePlatformId {@link string } The unique identifier of the balance platform.
    * @param webhookId {@link string } The unique identifier of the balance webhook.
    * @param settingId {@link string } The unique identifier of the balance webhook setting.
    * @param balanceWebhookSettingInfoUpdate {@link BalanceWebhookSettingInfoUpdate }
    * @param requestOptions {@link IRequest.Options }
    * @return {@link WebhookSetting }
    */
    updateWebhookSetting(balancePlatformId: string, webhookId: string, settingId: string, balanceWebhookSettingInfoUpdate: BalanceWebhookSettingInfoUpdate, requestOptions?: IRequest.Options): Promise<WebhookSetting>;
}
