import { Transport } from '../../../internal/interfaces/transport';
import { GetSubAccountResp } from './model_get_sub_account_resp';
import { GetRebaseResp } from './model_get_rebase_resp';
import { AddSubAccountApiResp } from './model_add_sub_account_api_resp';
import { AddSubAccountApiReq } from './model_add_sub_account_api_req';
import { SubmitKYCReq } from './model_submit_kyc_req';
import { GetSubAccountAPIReq } from './model_get_sub_account_api_req';
import { GetRebaseReq } from './model_get_rebase_req';
import { SubmitKYCResp } from './model_submit_kyc_resp';
import { DeleteSubAccountAPIReq } from './model_delete_sub_account_api_req';
import { GetWithdrawDetailReq } from './model_get_withdraw_detail_req';
import { GetDepositDetailResp } from './model_get_deposit_detail_resp';
import { GetDepositDetailReq } from './model_get_deposit_detail_req';
import { GetKYCStatusReq } from './model_get_kyc_status_req';
import { TransferResp } from './model_transfer_resp';
import { GetWithdrawDetailResp } from './model_get_withdraw_detail_resp';
import { DeleteSubAccountAPIResp } from './model_delete_sub_account_api_resp';
import { GetTransferHistoryResp } from './model_get_transfer_history_resp';
import { GetKYCStatusListResp } from './model_get_kyc_status_list_resp';
import { GetDepositListResp } from './model_get_deposit_list_resp';
import { ModifySubAccountApiResp } from './model_modify_sub_account_api_resp';
import { AddSubAccountReq } from './model_add_sub_account_req';
import { GetSubAccountReq } from './model_get_sub_account_req';
import { GetSubAccountAPIResp } from './model_get_sub_account_api_resp';
import { GetBrokerInfoResp } from './model_get_broker_info_resp';
import { GetTransferHistoryReq } from './model_get_transfer_history_req';
import { GetKYCStatusListReq } from './model_get_kyc_status_list_req';
import { GetKYCStatusResp } from './model_get_kyc_status_resp';
import { AddSubAccountResp } from './model_add_sub_account_resp';
import { GetDepositListReq } from './model_get_deposit_list_req';
import { GetBrokerInfoReq } from './model_get_broker_info_req';
import { ModifySubAccountApiReq } from './model_modify_sub_account_api_req';
import { TransferReq } from './model_transfer_req';
export interface NDBrokerAPI {
    /**
     * submitKYC Submit KYC
     * Description: This endpointcan submit kyc information for a sub-account of nd broker
     * Documentation: https://www.kucoin.com/docs-new/api-3472406
     * +-----------------------+---------+
     * | Extra API Info        | Value   |
     * +-----------------------+---------+
     * | API-DOMAIN            | BROKER  |
     * | API-CHANNEL           | PRIVATE |
     * | API-PERMISSION        | GENERAL |
     * | API-RATE-LIMIT-POOL   | BROKER  |
     * | API-RATE-LIMIT-WEIGHT | NULL    |
     * +-----------------------+---------+
     */
    submitKYC(req: SubmitKYCReq): Promise<SubmitKYCResp>;
    /**
     * getKYCStatus Get KYC Status
     * Description: This endpoint can query the specified Kyc status
     * Documentation: https://www.kucoin.com/docs-new/api-3472407
     * +-----------------------+---------+
     * | Extra API Info        | Value   |
     * +-----------------------+---------+
     * | API-DOMAIN            | BROKER  |
     * | API-CHANNEL           | PRIVATE |
     * | API-PERMISSION        | GENERAL |
     * | API-RATE-LIMIT-POOL   | BROKER  |
     * | API-RATE-LIMIT-WEIGHT | NULL    |
     * +-----------------------+---------+
     */
    getKYCStatus(req: GetKYCStatusReq): Promise<GetKYCStatusResp>;
    /**
     * getKYCStatusList Get KYC Status List
     * Description: This endpoint can query the specified Kyc status list
     * Documentation: https://www.kucoin.com/docs-new/api-3472408
     * +-----------------------+---------+
     * | Extra API Info        | Value   |
     * +-----------------------+---------+
     * | API-DOMAIN            | BROKER  |
     * | API-CHANNEL           | PRIVATE |
     * | API-PERMISSION        | GENERAL |
     * | API-RATE-LIMIT-POOL   | BROKER  |
     * | API-RATE-LIMIT-WEIGHT | NULL    |
     * +-----------------------+---------+
     */
    getKYCStatusList(req: GetKYCStatusListReq): Promise<GetKYCStatusListResp>;
    /**
     * getBrokerInfo Get Broker Info
     * Description: This endpoint supports querying the basic information of the current Broker.
     * Documentation: https://www.kucoin.com/docs-new/api-3470282
     * +-----------------------+---------+
     * | Extra API Info        | Value   |
     * +-----------------------+---------+
     * | API-DOMAIN            | BROKER  |
     * | API-CHANNEL           | PRIVATE |
     * | API-PERMISSION        | GENERAL |
     * | API-RATE-LIMIT-POOL   | BROKER  |
     * | API-RATE-LIMIT-WEIGHT | 2       |
     * +-----------------------+---------+
     */
    getBrokerInfo(req: GetBrokerInfoReq): Promise<GetBrokerInfoResp>;
    /**
     * addSubAccount Add sub-account
     * Description: This endpoint supports Broker users creating sub-accounts.
     * Documentation: https://www.kucoin.com/docs-new/api-3470290
     * +-----------------------+---------+
     * | Extra API Info        | Value   |
     * +-----------------------+---------+
     * | API-DOMAIN            | BROKER  |
     * | API-CHANNEL           | PRIVATE |
     * | API-PERMISSION        | GENERAL |
     * | API-RATE-LIMIT-POOL   | BROKER  |
     * | API-RATE-LIMIT-WEIGHT | 3       |
     * +-----------------------+---------+
     */
    addSubAccount(req: AddSubAccountReq): Promise<AddSubAccountResp>;
    /**
     * getSubAccount Get sub-account
     * Description: This interface supports querying sub-accounts created by Broker.
     * Documentation: https://www.kucoin.com/docs-new/api-3470283
     * +-----------------------+---------+
     * | Extra API Info        | Value   |
     * +-----------------------+---------+
     * | API-DOMAIN            | BROKER  |
     * | API-CHANNEL           | PRIVATE |
     * | API-PERMISSION        | GENERAL |
     * | API-RATE-LIMIT-POOL   | BROKER  |
     * | API-RATE-LIMIT-WEIGHT | 2       |
     * +-----------------------+---------+
     */
    getSubAccount(req: GetSubAccountReq): Promise<GetSubAccountResp>;
    /**
     * addSubAccountApi Add sub-account API
     * Description: This interface supports the creation of Broker sub-account APIKEY.
     * Documentation: https://www.kucoin.com/docs-new/api-3470291
     * +-----------------------+---------+
     * | Extra API Info        | Value   |
     * +-----------------------+---------+
     * | API-DOMAIN            | BROKER  |
     * | API-CHANNEL           | PRIVATE |
     * | API-PERMISSION        | GENERAL |
     * | API-RATE-LIMIT-POOL   | BROKER  |
     * | API-RATE-LIMIT-WEIGHT | 3       |
     * +-----------------------+---------+
     */
    addSubAccountApi(req: AddSubAccountApiReq): Promise<AddSubAccountApiResp>;
    /**
     * getSubAccountAPI Get sub-account API
     * Description: This interface supports querying the Broker’s sub-account APIKEY.
     * Documentation: https://www.kucoin.com/docs-new/api-3470284
     * +-----------------------+---------+
     * | Extra API Info        | Value   |
     * +-----------------------+---------+
     * | API-DOMAIN            | BROKER  |
     * | API-CHANNEL           | PRIVATE |
     * | API-PERMISSION        | GENERAL |
     * | API-RATE-LIMIT-POOL   | BROKER  |
     * | API-RATE-LIMIT-WEIGHT | 2       |
     * +-----------------------+---------+
     */
    getSubAccountAPI(req: GetSubAccountAPIReq): Promise<GetSubAccountAPIResp>;
    /**
     * modifySubAccountApi Modify sub-account API
     * Description: This interface supports modifying the Broker’s sub-account APIKEY.
     * Documentation: https://www.kucoin.com/docs-new/api-3470292
     * +-----------------------+---------+
     * | Extra API Info        | Value   |
     * +-----------------------+---------+
     * | API-DOMAIN            | BROKER  |
     * | API-CHANNEL           | PRIVATE |
     * | API-PERMISSION        | GENERAL |
     * | API-RATE-LIMIT-POOL   | BROKER  |
     * | API-RATE-LIMIT-WEIGHT | 3       |
     * +-----------------------+---------+
     */
    modifySubAccountApi(req: ModifySubAccountApiReq): Promise<ModifySubAccountApiResp>;
    /**
     * deleteSubAccountAPI Delete sub-account API
     * Description: This interface supports deleting Broker’s sub-account APIKEY.
     * Documentation: https://www.kucoin.com/docs-new/api-3470289
     * +-----------------------+---------+
     * | Extra API Info        | Value   |
     * +-----------------------+---------+
     * | API-DOMAIN            | BROKER  |
     * | API-CHANNEL           | PRIVATE |
     * | API-PERMISSION        | GENERAL |
     * | API-RATE-LIMIT-POOL   | BROKER  |
     * | API-RATE-LIMIT-WEIGHT | 3       |
     * +-----------------------+---------+
     */
    deleteSubAccountAPI(req: DeleteSubAccountAPIReq): Promise<DeleteSubAccountAPIResp>;
    /**
     * transfer Transfer
     * Description: This endpoint supports fund transfer between Broker accounts and Broker sub-accounts.  Please be aware that withdrawal from sub-accounts is not directly supported. Broker has to transfer funds from broker sub-account to broker account to initiate the withdrawals.
     * Documentation: https://www.kucoin.com/docs-new/api-3470293
     * +-----------------------+---------+
     * | Extra API Info        | Value   |
     * +-----------------------+---------+
     * | API-DOMAIN            | BROKER  |
     * | API-CHANNEL           | PRIVATE |
     * | API-PERMISSION        | GENERAL |
     * | API-RATE-LIMIT-POOL   | BROKER  |
     * | API-RATE-LIMIT-WEIGHT | 1       |
     * +-----------------------+---------+
     */
    transfer(req: TransferReq): Promise<TransferResp>;
    /**
     * getTransferHistory Get Transfer History
     * Description: This endpoint supports querying the transfer records of the broker itself and its created sub-accounts.
     * Documentation: https://www.kucoin.com/docs-new/api-3470286
     * +-----------------------+---------+
     * | Extra API Info        | Value   |
     * +-----------------------+---------+
     * | API-DOMAIN            | BROKER  |
     * | API-CHANNEL           | PRIVATE |
     * | API-PERMISSION        | GENERAL |
     * | API-RATE-LIMIT-POOL   | BROKER  |
     * | API-RATE-LIMIT-WEIGHT | 1       |
     * +-----------------------+---------+
     */
    getTransferHistory(req: GetTransferHistoryReq): Promise<GetTransferHistoryResp>;
    /**
     * getDepositList Get Deposit List
     * Description: The deposit records of each sub-account under the ND broker can be obtained at this endpoint.
     * Documentation: https://www.kucoin.com/docs-new/api-3470285
     * +-----------------------+---------+
     * | Extra API Info        | Value   |
     * +-----------------------+---------+
     * | API-DOMAIN            | BROKER  |
     * | API-CHANNEL           | PRIVATE |
     * | API-PERMISSION        | GENERAL |
     * | API-RATE-LIMIT-POOL   | BROKER  |
     * | API-RATE-LIMIT-WEIGHT | 10      |
     * +-----------------------+---------+
     */
    getDepositList(req: GetDepositListReq): Promise<GetDepositListResp>;
    /**
     * getDepositDetail Get Deposit Detail
     * Description: This endpoint supports querying the deposit record of sub-accounts created by a Broker (excluding main account of ND broker).
     * Documentation: https://www.kucoin.com/docs-new/api-3470288
     * +-----------------------+---------+
     * | Extra API Info        | Value   |
     * +-----------------------+---------+
     * | API-DOMAIN            | BROKER  |
     * | API-CHANNEL           | PRIVATE |
     * | API-PERMISSION        | GENERAL |
     * | API-RATE-LIMIT-POOL   | BROKER  |
     * | API-RATE-LIMIT-WEIGHT | 1       |
     * +-----------------------+---------+
     */
    getDepositDetail(req: GetDepositDetailReq): Promise<GetDepositDetailResp>;
    /**
     * getWithdrawDetail Get Withdraw Detail
     * Description: This endpoint supports querying the withdrawal records of sub-accounts created by a Broker (excluding main account of ND broker).
     * Documentation: https://www.kucoin.com/docs-new/api-3470287
     * +-----------------------+---------+
     * | Extra API Info        | Value   |
     * +-----------------------+---------+
     * | API-DOMAIN            | BROKER  |
     * | API-CHANNEL           | PRIVATE |
     * | API-PERMISSION        | GENERAL |
     * | API-RATE-LIMIT-POOL   | BROKER  |
     * | API-RATE-LIMIT-WEIGHT | 1       |
     * +-----------------------+---------+
     */
    getWithdrawDetail(req: GetWithdrawDetailReq): Promise<GetWithdrawDetailResp>;
    /**
     * getRebase Get Broker Rebate
     * Description: This interface supports the downloading of Broker rebate orders.
     * Documentation: https://www.kucoin.com/docs-new/api-3470281
     * +-----------------------+---------+
     * | Extra API Info        | Value   |
     * +-----------------------+---------+
     * | API-DOMAIN            | BROKER  |
     * | API-CHANNEL           | PRIVATE |
     * | API-PERMISSION        | GENERAL |
     * | API-RATE-LIMIT-POOL   | BROKER  |
     * | API-RATE-LIMIT-WEIGHT | 3       |
     * +-----------------------+---------+
     */
    getRebase(req: GetRebaseReq): Promise<GetRebaseResp>;
}
export declare class NDBrokerAPIImpl implements NDBrokerAPI {
    private transport;
    constructor(transport: Transport);
    submitKYC(req: SubmitKYCReq): Promise<SubmitKYCResp>;
    getKYCStatus(req: GetKYCStatusReq): Promise<GetKYCStatusResp>;
    getKYCStatusList(req: GetKYCStatusListReq): Promise<GetKYCStatusListResp>;
    getBrokerInfo(req: GetBrokerInfoReq): Promise<GetBrokerInfoResp>;
    addSubAccount(req: AddSubAccountReq): Promise<AddSubAccountResp>;
    getSubAccount(req: GetSubAccountReq): Promise<GetSubAccountResp>;
    addSubAccountApi(req: AddSubAccountApiReq): Promise<AddSubAccountApiResp>;
    getSubAccountAPI(req: GetSubAccountAPIReq): Promise<GetSubAccountAPIResp>;
    modifySubAccountApi(req: ModifySubAccountApiReq): Promise<ModifySubAccountApiResp>;
    deleteSubAccountAPI(req: DeleteSubAccountAPIReq): Promise<DeleteSubAccountAPIResp>;
    transfer(req: TransferReq): Promise<TransferResp>;
    getTransferHistory(req: GetTransferHistoryReq): Promise<GetTransferHistoryResp>;
    getDepositList(req: GetDepositListReq): Promise<GetDepositListResp>;
    getDepositDetail(req: GetDepositDetailReq): Promise<GetDepositDetailResp>;
    getWithdrawDetail(req: GetWithdrawDetailReq): Promise<GetWithdrawDetailResp>;
    getRebase(req: GetRebaseReq): Promise<GetRebaseResp>;
}
