import { CreateSubAccountApiKeyRequestV3, CreateSubAccountRequestV3, DeleteSubAccountApiKeyRequestV3, FreezeSubAccountRequestV3, GetConvertRecordsRequestV3, GetDepositAddressRequestV3, GetDepositRecordsRequestV3, GetFeeRateRequestV3, GetFinancialRecordsRequestV3, GetFundingAssetsRequestV3, GetMaxTransferableRequestV3, GetOpenInterestLimitRequestV3, GetSubAccountApiKeysRequestV3, GetSubAccountListRequestV3, GetSubDepositAddressRequestV3, GetSubDepositRecordsRequestV3, GetSubTransferRecordsRequestV3, GetSubUnifiedAssetsRequestV3, GetTaxRecordsRequestV3, GetTransferableCoinsRequestV3, GetWithdrawRecordsRequestV3, RepayRequestV3, SetDepositAccountRequestV3, SetLeverageRequestV3, SubAccountTransferRequestV3, SwitchDeductRequestV3, TransferRequestV3, UpdateSubAccountApiKeyRequestV3, WithdrawRequestV3 } from './types/request/v3/account.js';
import { BrokerSubWithdrawalRequestV3, CreateBrokerSubAccountRequestV3, CreateBrokerSubApiKeyRequestV3, DeleteBrokerSubApiKeyRequestV3, GetBrokerAllSubDepositWithdrawalRequestV3, GetBrokerCommissionRequestV3, GetBrokerSubAccountListRequestV3, GetBrokerSubApiKeyRequestV3, GetBrokerSubDepositAddressRequestV3, ModifyBrokerSubAccountRequestV3, ModifyBrokerSubApiKeyRequestV3 } from './types/request/v3/broker.js';
import { EarnEliteSubscribeRequestV3, GetEarnEliteRecordsRequestV3, GetEarnEliteRedeemInfoRequestV3, GetEarnEliteSubscribeInfoRequestV3, GetEarnEliteSubscribeResultRequestV3, RedeemEarnEliteRequestV3 } from './types/request/v3/earn.js';
import { BindUidRequestV3, GetEnsureCoinsRequestV3, GetLoanBorrowHistoryRequestV3, GetLoanBorrowOngoingRequestV3, GetLoanCoinsRequestV3, GetLoanInterestRequestV3, GetLoanOrderRequestV3, GetLoanPledgeRateHistoryRequestV3, GetLoanReducesRequestV3, GetLoanRepayHistoryRequestV3, GetLTVConvertRequestV3, GetProductInfosRequestV3, GetRepaidHistoryRequestV3, GetSymbolsRequestV3, GetTransferedRequestV3, LoanBorrowRequestV3, LoanRepayRequestV3, LoanRevisePledgeRequestV3 } from './types/request/v3/loan.js';
import { GetCandlesRequestV3, GetContractsOiRequestV3, GetCurrentFundingRateRequestV3, GetHistoryCandlesRequestV3, GetHistoryFundingRateRequestV3, GetIndexComponentsRequestV3, GetInstrumentsRequestV3, GetMarginLoansRequestV3, GetMarketFeeGroupRequestV3, GetMarketScoreWeightsRequestV3, GetOpenInterestRequestV3, GetOrderBookRequestV3, GetPositionTierRequestV3, GetPublicFillsRequestV3, GetRiskReserveAllRequestV3, GetRiskReserveRequestV3, GetTickersRequestV3 } from './types/request/v3/public.js';
import { CancelStrategyOrderRequestV3, GetHistoryStrategyOrdersRequestV3, GetUnfilledStrategyOrdersRequestV3, ModifyStrategyOrderRequestV3, PlaceStrategyOrderRequestV3 } from './types/request/v3/strategy.js';
import { BatchModifyOrderRequestV3, CancelAllOrdersRequestV3, CancelBatchOrdersRequestV3, CancelOrderRequestV3, CloseAllPositionsRequestV3, CountdownCancelAllRequestV3, GetCurrentPositionRequestV3, GetFillsRequestV3, GetHistoryOrdersRequestV3, GetMaxOpenAvailableRequestV3, GetOrderInfoRequestV3, GetPositionHistoryRequestV3, GetUnfilledOrdersRequestV3, ModifyOrderRequestV3, PlaceBatchOrdersRequestV3, PlaceOrderRequestV3 } from './types/request/v3/trade.js';
import { AccountAssetsV3, AccountSettingsV3, ConvertRecordV3, CreateSubAccountApiKeyResponseV3, CreateSubAccountResponseV3, DepositAddressV3, DepositRecordV3, FinancialRecordV3, FundingAssetV3, MaxTransferableV3, OpenInterestLimitV3, PaymentCoinV3, RepayableCoinV3, RepayResponseV3, SubAccountApiKeyV3, SubAccountV3, SubTransferRecordV3, SubUnifiedAssetV3, TaxRecordV3, TransferResponseV3, UpdateSubAccountApiKeyResponseV3, WithdrawRecordV3, WithdrawResponseV3 } from './types/response/v3/account.js';
import { BrokerCommissionRecordV3, BrokerSubDepositAddressV3, BrokerSubWithdrawalResponseV3, CreateBrokerSubAccountResponseV3, CreateBrokerSubApiKeyResponseV3, GetBrokerAllSubDepositWithdrawalResponseV3, GetBrokerSubAccountListResponseV3, GetBrokerSubApiKeyResponseV3, ModifyBrokerSubAccountResponseV3, ModifyBrokerSubApiKeyResponseV3 } from './types/response/v3/broker.js';
import { CopyFuturesPositionSummaryV3, CopyFuturesTradingPairV3 } from './types/response/v3/copytrading.js';
import { EarnEliteAssetsV3, EarnEliteProductV3, EarnEliteRecordsV3, EarnEliteRedeemInfoV3, EarnEliteSubscribeInfoV3, EarnEliteSubscribeResultV3, EarnEliteSubscribeStatusV3, RedeemEarnEliteResultV3 } from './types/response/v3/earn.js';
import { BindUidResponseV3, CoinInfoV3, GetLoanCoinsResponseV3, GetLoanDebtsResponseV3, GetLoanInterestResponseV3, LoanBorrowHistoryItemV3, LoanBorrowOngoingItemV3, LoanBorrowResponseV3, LoanOrderV3, LoanPledgeRateHistoryItemV3, LoanProductInfoV3, LoanReduceItemV3, LoanRepayHistoryItemV3, LoanRepayResponseV3, LoanRevisePledgeResponseV3, LoanSymbolsV3, LoanTransfersV3, LTVConvertResponseV3, RepaidHistoryItemV3 } from './types/response/v3/loan.js';
import { CandlestickV3, ContractOiV3, CurrentFundingRateV3, DiscountRateV3, HistoryFundingRateV3, IndexPriceComponentsV3, InstrumentV3, MarginLoanV3, MarketFeeGroupV3, MarketScoreWeightV3, OpenInterestV3, OrderBookV3, PositionTierV3, ProofOfReservesV3, PublicFillV3, RiskReserveAllV3, RiskReserveHourV3, RiskReserveV3, TickerV3 } from './types/response/v3/public.js';
import { ModifyStrategyOrderResponseV3, PlaceStrategyOrderResponseV3, StrategyOrderV3 } from './types/response/v3/strategy.js';
import { BatchModifyOrderResponseV3, CancelAllOrdersResponseV3, CancelBatchOrdersResponseV3, CancelOrderResponseV3, CloseAllPositionsResponseV3, CurrentPositionV3, FillV3, GetMaxOpenAvailableResponseV3, HistoryOrderV3, ModifyOrderResponseV3, OrderInfoV3, PlaceBatchOrdersResponseV3, PlaceOrderResponseV3, PositionAdlRankV3, PositionHistoryV3, UnfilledOrderV3 } from './types/response/v3/trade.js';
import { APIResponse } from './types/shared.js';
import BaseRestClient from './util/BaseRestClient.js';
/**
 * REST API client for all V3 endpoints
 */
export declare class RestClientV3 extends BaseRestClient {
    getClientType(): "v3";
    /**
     *
     * Custom SDK functions
     *
     */
    /**
     * This method is used to get the latency and time sync between the client and the server.
     * This is not official API endpoint and is only used for internal testing purposes.
     * Use this method to check the latency and time sync between the client and the server.
     * Final values might vary slightly, but it should be within few ms difference.
     * If you have any suggestions or improvements to this measurement, please create an issue or pull request on GitHub.
     */
    fetchLatencySummary(): Promise<any>;
    fetchServerTime(): Promise<number>;
    /**
     *
     * Public endpoints
     *
     */
    getServerTime(): Promise<APIResponse<{
        serverTime: string;
    }>>;
    /**
     *
     * =====Market======= endpoints
     *
     */
    /**
     * Get Instruments
     */
    getInstruments(params: GetInstrumentsRequestV3): Promise<APIResponse<InstrumentV3[]>>;
    /**
     * Get Market Maker Fee Group - Query fee rate tiers and grouping
     */
    getMarketFeeGroup(params: GetMarketFeeGroupRequestV3): Promise<APIResponse<MarketFeeGroupV3[]>>;
    /**
     * Get Market Maker Score Weight - Query score weights per symbol
     */
    getMarketScoreWeights(params?: GetMarketScoreWeightsRequestV3): Promise<APIResponse<MarketScoreWeightV3[]>>;
    /**
     * Get Tickers
     */
    getTickers(params: GetTickersRequestV3): Promise<APIResponse<TickerV3[]>>;
    /**
     * Get OrderBook
     */
    getOrderBook(params: GetOrderBookRequestV3): Promise<APIResponse<OrderBookV3>>;
    /**
     * Get Recent Public Fills
     */
    getFills(params: GetPublicFillsRequestV3): Promise<APIResponse<PublicFillV3[]>>;
    /**
     * Get Proof Of Reserves
     */
    getProofOfReserves(): Promise<APIResponse<ProofOfReservesV3>>;
    /**
     * Get Open Interest
     */
    getOpenInterest(params: GetOpenInterestRequestV3): Promise<APIResponse<OpenInterestV3>>;
    /**
     * Get Kline/Candlestick
     * Maximum number of returned entries: 1,000
     */
    getCandles(params: GetCandlesRequestV3): Promise<APIResponse<CandlestickV3[]>>;
    /**
     * Get Kline/Candlestick History
     */
    getHistoryCandles(params: GetHistoryCandlesRequestV3): Promise<APIResponse<CandlestickV3[]>>;
    /**
     * Get Current Funding Rate
     */
    getCurrentFundingRate(params: GetCurrentFundingRateRequestV3): Promise<APIResponse<CurrentFundingRateV3[]>>;
    /**
     * Get Funding Rate History
     */
    getHistoryFundingRate(params: GetHistoryFundingRateRequestV3): Promise<APIResponse<HistoryFundingRateV3[]>>;
    /**
     * Get Risk Reserve
     */
    getRiskReserve(params: GetRiskReserveRequestV3): Promise<APIResponse<RiskReserveV3>>;
    /**
     * Get Risk Reserve (Hourly)
     */
    getRiskReserveHour(params: GetRiskReserveRequestV3): Promise<APIResponse<RiskReserveHourV3>>;
    /**
     * Get Risk Reserve All — current insurance funds
     */
    getRiskReserveAll(params: GetRiskReserveAllRequestV3): Promise<APIResponse<RiskReserveAllV3>>;
    /**
     * Get Discount Rate
     */
    getDiscountRate(): Promise<APIResponse<DiscountRateV3[]>>;
    /**
     * Get Margin Loan
     */
    getMarginLoans(params: GetMarginLoansRequestV3): Promise<APIResponse<MarginLoanV3>>;
    /**
     * Get Position Tier
     */
    getPositionTier(params: GetPositionTierRequestV3): Promise<APIResponse<PositionTierV3[]>>;
    /**
     * Get Open Interest Limit
     */
    getContractsOi(params: GetContractsOiRequestV3): Promise<APIResponse<ContractOiV3[]>>;
    /**
     * Get Index Price Components
     */
    getIndexComponents(params: GetIndexComponentsRequestV3): Promise<APIResponse<IndexPriceComponentsV3>>;
    /**
     *
     * =====Copy Trading | Futures=====
     *
     */
    /**
     * Get copy-trading trading pair information
     *
     * Rate limit: 5/sec/UID. Permission: Unified Account — Futures Copy-Trading Orders — Read-only.
     */
    getCopyFuturesTradingPairs(): Promise<APIResponse<CopyFuturesTradingPairV3[]>>;
    /**
     * Get copy-trading position summary
     *
     * Rate limit: 5/sec/UID. Permission: Unified Account — Futures Copy-Trading Positions — Read-only.
     */
    getCopyFuturesPositionSummary(): Promise<APIResponse<CopyFuturesPositionSummaryV3[]>>;
    /**
     *
     * =====Account======= endpoints
     *
     */
    /**
     * Get Account Assets
     */
    getBalances(): Promise<APIResponse<AccountAssetsV3>>;
    /**
     * Get Fund Account Assets
     */
    getFundingAssets(params?: GetFundingAssetsRequestV3): Promise<APIResponse<FundingAssetV3[]>>;
    /**
     * Get Account Info
     */
    getAccountSettings(): Promise<APIResponse<AccountSettingsV3>>;
    /**
     * Set Leverage
     */
    setLeverage(params: SetLeverageRequestV3): Promise<APIResponse<string>>;
    /**
     * Set Holding Mode
     */
    setHoldMode(params: {
        holdMode: 'one_way_mode' | 'hedge_mode';
    }): Promise<APIResponse<string>>;
    /**
     * Get Financial Records
     */
    getFinancialRecords(params: GetFinancialRecordsRequestV3): Promise<APIResponse<{
        list: FinancialRecordV3[];
        cursor: string;
    }>>;
    /**
     * Get Repayable Coins
     */
    getRepayableCoins(): Promise<APIResponse<{
        repayableCoinList: RepayableCoinV3[];
        maxSelection: string;
    }>>;
    /**
     * Get Payment Coins
     */
    getPaymentCoins(): Promise<APIResponse<{
        paymentCoinList: PaymentCoinV3[];
        maxSelection: string;
    }>>;
    /**
     * Repay
     */
    submitRepay(params: RepayRequestV3): Promise<APIResponse<RepayResponseV3>>;
    /**
     * Get Convert Records
     */
    getConvertRecords(params: GetConvertRecordsRequestV3): Promise<APIResponse<{
        list: ConvertRecordV3[];
        cursor: string;
    }>>;
    /**
     * Set up deposit account - Configure default recharge account for a certain symbol
     * This configuration item remains valid for a long time. That is, once a user sets a default
     * recharge account for a certain symbol, it will be retained permanently, and there is no need to reconfigure it.
     * Permission: UTA mgt. (read & write)
     */
    setDepositAccount(params: SetDepositAccountRequestV3): Promise<APIResponse<string>>;
    /**
     * Switch Deduct - Set BGB deduction
     */
    switchDeduct(params: SwitchDeductRequestV3): Promise<APIResponse<string>>;
    /**
     * Get Deduct Info - Get BGB deduction status
     */
    getDeductInfo(): Promise<APIResponse<{
        deduct: 'on' | 'off';
    }>>;
    /**
     * Get Trading Fee Rate
     */
    getFeeRate(params: GetFeeRateRequestV3): Promise<APIResponse<{
        makerFeeRate: string;
        takerFeeRate: string;
    }>>;
    /**
     * Get Max Transferable
     *
     * - Rate limit: 3 req/sec/UID
     * - Permission: UTA mgt. (read)
     * - Get the maximum transferable amount for the unified account.
     */
    getMaxTransferable(params: GetMaxTransferableRequestV3): Promise<APIResponse<MaxTransferableV3>>;
    /**
     * Get Open Interest Limit
     *
     * - Rate limit: 5/sec/UID
     * - Get open interest limit for a symbol
     */
    getOpenInterestLimit(params: GetOpenInterestLimitRequestV3): Promise<APIResponse<OpenInterestLimitV3>>;
    /**
     * Switch Account - Switch to classic account mode
     * Only supports parent accounts.
     * This endpoint is only used for switching to classic account mode.
     * Please note that since the account switching process takes approximately 1 minute,
     * the successful response you receive only indicates that the request has been received,
     * and does not mean that the account has been successfully switched to the classic account.
     * Please use the query switching status interface to confirm whether the account switching is successful.
     */
    downgradeAccountToClassic(): Promise<APIResponse<null>>;
    /**
     * Get Switch Status - Get account switching status
     * Only supports parent accounts.
     */
    getUnifiedAccountSwitchStatus(): Promise<APIResponse<{
        status: 'processProcessing' | 'successSuccess' | 'failFailed';
    }>>;
    /**
     * Get Tax Records
     *
     * - Rate limit: 1/sec/UID
     * - Data query range: 366 days
     * - Please use the tax API Key to request Creation Portal
     * - Get Unified Account Tax Records
     */
    getTaxRecords(params: GetTaxRecordsRequestV3): Promise<APIResponse<TaxRecordV3[]>>;
    /**
     *
     * =====SubAccount======= endpoints
     *
     */
    /**
     * Create Sub-account
     */
    createSubAccount(params: CreateSubAccountRequestV3): Promise<APIResponse<CreateSubAccountResponseV3>>;
    /**
     * Freeze/Unfreeze Sub-account
     */
    freezeSubAccount(params: FreezeSubAccountRequestV3): Promise<APIResponse<object>>;
    /**
     * Get Sub-account Unified Account Assets
     */
    getSubUnifiedAssets(params?: GetSubUnifiedAssetsRequestV3): Promise<APIResponse<SubUnifiedAssetV3[]>>;
    /**
     * Get Sub-account List
     */
    getSubAccountList(params?: GetSubAccountListRequestV3): Promise<APIResponse<{
        list: SubAccountV3[];
        hasNext: boolean;
        cursor: string;
    }>>;
    /**
     * Create Sub-account API Key
     */
    createSubAccountApiKey(params: CreateSubAccountApiKeyRequestV3): Promise<APIResponse<CreateSubAccountApiKeyResponseV3>>;
    /**
     * Modify Sub-account API Key
     */
    updateSubAccountApiKey(params: UpdateSubAccountApiKeyRequestV3): Promise<APIResponse<UpdateSubAccountApiKeyResponseV3>>;
    /**
     * Delete Sub-account API Key
     */
    deleteSubAccountApiKey(params: DeleteSubAccountApiKeyRequestV3): Promise<APIResponse<any>>;
    /**
     * Get Sub-account API Keys
     */
    getSubAccountApiKeys(params: GetSubAccountApiKeysRequestV3): Promise<APIResponse<{
        items: SubAccountApiKeyV3[];
        hasNext: boolean;
        cursor: string;
    }>>;
    /**
     *
     * =====Transfer======= endpoints
     *
     */
    /**
     * Get Transferable Coins
     */
    getTransferableCoins(params: GetTransferableCoinsRequestV3): Promise<APIResponse<string[]>>;
    /**
     * Transfer
     */
    submitTransfer(params: TransferRequestV3): Promise<APIResponse<TransferResponseV3>>;
    /**
     * Main-Sub Account Transfer
     */
    subAccountTransfer(params: SubAccountTransferRequestV3): Promise<APIResponse<{
        transferId: string;
        clientOid: string;
    }>>;
    /**
     * Get Main-Sub Transfer Records
     */
    getSubTransferRecords(params?: GetSubTransferRecordsRequestV3): Promise<APIResponse<{
        items: SubTransferRecordV3[];
        cursor: string;
    }>>;
    /**
     *
     * =====Deposit======= endpoints
     *
     */
    /**
     * Get Deposit Address
     */
    getDepositAddress(params: GetDepositAddressRequestV3): Promise<APIResponse<DepositAddressV3>>;
    /**
     * Get Sub Deposit Address
     */
    getSubDepositAddress(params: GetSubDepositAddressRequestV3): Promise<APIResponse<DepositAddressV3>>;
    /**
     * Get Deposit Records
     */
    getDepositRecords(params: GetDepositRecordsRequestV3): Promise<APIResponse<DepositRecordV3[]>>;
    /**
     * Get Sub Deposit Records
     */
    getSubDepositRecords(params: GetSubDepositRecordsRequestV3): Promise<APIResponse<DepositRecordV3[]>>;
    /**
     *
     * =====Withdraw======= endpoints
     *
     */
    /**
     * Withdraw - Includes on-chain withdrawals and internal transfers
     */
    submitWithdraw(params: WithdrawRequestV3): Promise<APIResponse<WithdrawResponseV3>>;
    /**
     * Get Withdraw Records
     */
    getWithdrawRecords(params: GetWithdrawRecordsRequestV3): Promise<APIResponse<WithdrawRecordV3[]>>;
    /**
     *
     * =====Trade======= endpoints
     *
     */
    /**
     * Place Order
     */
    submitNewOrder(params: PlaceOrderRequestV3): Promise<APIResponse<PlaceOrderResponseV3>>;
    /**
     * Modify Order
     */
    modifyOrder(params: ModifyOrderRequestV3): Promise<APIResponse<ModifyOrderResponseV3>>;
    /**
     * Cancel Order
     */
    cancelOrder(params: CancelOrderRequestV3): Promise<APIResponse<CancelOrderResponseV3>>;
    /**
     * Batch Order
     */
    placeBatchOrders(params: PlaceBatchOrdersRequestV3[]): Promise<APIResponse<PlaceBatchOrdersResponseV3[]>>;
    /**
     * Batch Modify Orders
     */
    batchModifyOrders(params: BatchModifyOrderRequestV3[]): Promise<APIResponse<BatchModifyOrderResponseV3[]>>;
    /**
     * Batch Cancel
     */
    cancelBatchOrders(params: CancelBatchOrdersRequestV3[]): Promise<APIResponse<CancelBatchOrdersResponseV3[]>>;
    /**
     * Cancel All Orders
     */
    cancelAllOrders(params: CancelAllOrdersRequestV3): Promise<APIResponse<CancelAllOrdersResponseV3>>;
    /**
     * Close All Positions
     */
    closeAllPositions(params: CloseAllPositionsRequestV3): Promise<APIResponse<CloseAllPositionsResponseV3>>;
    /**
     * Get Order Details
     */
    getOrderInfo(params: GetOrderInfoRequestV3): Promise<APIResponse<OrderInfoV3>>;
    /**
     * Get Open Orders
     */
    getUnfilledOrders(params?: GetUnfilledOrdersRequestV3): Promise<APIResponse<{
        list: UnfilledOrderV3[];
        cursor: string;
    }>>;
    /**
     * Get Order History
     */
    getHistoryOrders(params: GetHistoryOrdersRequestV3): Promise<APIResponse<{
        list: HistoryOrderV3[];
        cursor: string;
    }>>;
    /**
     * Get Fill History
     */
    getTradeFills(params?: GetFillsRequestV3): Promise<APIResponse<{
        list: FillV3[];
        cursor: string;
    }>>;
    /**
     * Get Position Info
     */
    getCurrentPosition(params: GetCurrentPositionRequestV3): Promise<APIResponse<{
        list: CurrentPositionV3[];
    }>>;
    /**
     * Get Positions History
     */
    getPositionHistory(params: GetPositionHistoryRequestV3): Promise<APIResponse<{
        list: PositionHistoryV3[];
        cursor: string;
    }>>;
    /**
     * Get Max Open Available
     */
    getMaxOpenAvailable(params: GetMaxOpenAvailableRequestV3): Promise<APIResponse<GetMaxOpenAvailableResponseV3>>;
    /**
     * Get Position ADL Rank - Get position auto-deleveraging ranking
     */
    getPositionAdlRank(): Promise<APIResponse<PositionAdlRankV3[]>>;
    /**
     * CountDown Cancel All
     */
    countdownCancelAll(params: CountdownCancelAllRequestV3): Promise<APIResponse<string>>;
    /**
     *
     * =====Inst Loan======= endpoints
     *
     */
    /**
     * Get Transferred Quantity
     */
    getLoanTransfered(params: GetTransferedRequestV3): Promise<APIResponse<LoanTransfersV3>>;
    /**
     * Get Trade Symbols
     */
    getLoanSymbols(params: GetSymbolsRequestV3): Promise<APIResponse<LoanSymbolsV3>>;
    /**
     * Get Risk Unit
     */
    getLoanRiskUnit(): Promise<APIResponse<{
        riskUnitId: string[];
    }>>;
    /**
     * Get Repayment Orders
     */
    getLoanRepaidHistory(params?: GetRepaidHistoryRequestV3): Promise<APIResponse<RepaidHistoryItemV3[]>>;
    /**
     * Get Product Info
     */
    getLoanProductInfo(params: GetProductInfosRequestV3): Promise<APIResponse<LoanProductInfoV3>>;
    /**
     * Get Loan Orders
     */
    getLoanOrder(params?: GetLoanOrderRequestV3): Promise<APIResponse<LoanOrderV3[]>>;
    /**
     * Get LTV
     */
    getLoanLTVConvert(params?: GetLTVConvertRequestV3): Promise<APIResponse<LTVConvertResponseV3>>;
    /**
     * Get Margin Coin Info
     */
    getLoanMarginCoinInfo(params: GetEnsureCoinsRequestV3): Promise<APIResponse<{
        productId: string;
        coinInfo: CoinInfoV3[];
    }>>;
    /**
     * Bind/Unbind UID to Risk Unit
     */
    bindLoanUid(params: BindUidRequestV3): Promise<APIResponse<BindUidResponseV3>>;
    /**
     *
     * =====Unified Account Staking & Lending (Crypto Loans)===== /api/v3/loan/*
     *
     */
    /**
     * Get Loan Coins - Query supported collateral currencies and borrowable coins
     */
    getLoanCoins(params?: GetLoanCoinsRequestV3): Promise<APIResponse<GetLoanCoinsResponseV3>>;
    /**
     * Get Loan Interest - Query estimated interest and borrowable amount
     */
    getLoanInterest(params: GetLoanInterestRequestV3): Promise<APIResponse<GetLoanInterestResponseV3>>;
    /**
     * Borrow - Borrow coins
     */
    loanBorrow(params: LoanBorrowRequestV3): Promise<APIResponse<LoanBorrowResponseV3>>;
    /**
     * Get Borrow Ongoing - Query current borrowings
     */
    getLoanBorrowOngoing(params?: GetLoanBorrowOngoingRequestV3): Promise<APIResponse<LoanBorrowOngoingItemV3[]>>;
    /**
     * Get Borrow History - Query borrowing history
     */
    getLoanBorrowHistory(params: GetLoanBorrowHistoryRequestV3): Promise<APIResponse<LoanBorrowHistoryItemV3[]>>;
    /**
     * Repay - Repay coins
     */
    loanRepay(params: LoanRepayRequestV3): Promise<APIResponse<LoanRepayResponseV3>>;
    /**
     * Get Repay History - Query repayment history
     */
    getLoanRepayHistory(params: GetLoanRepayHistoryRequestV3): Promise<APIResponse<LoanRepayHistoryItemV3[]>>;
    /**
     * Revise Pledge - Adjust collateral ratio
     */
    loanRevisePledge(params: LoanRevisePledgeRequestV3): Promise<APIResponse<LoanRevisePledgeResponseV3>>;
    /**
     * Get Pledge Rate History - Query collateral ratio history
     */
    getLoanPledgeRateHistory(params: GetLoanPledgeRateHistoryRequestV3): Promise<APIResponse<LoanPledgeRateHistoryItemV3[]>>;
    /**
     * Get Loan Debts - Query assets and liabilities
     */
    getLoanDebts(): Promise<APIResponse<GetLoanDebtsResponseV3>>;
    /**
     * Get Loan Reduces - Query liquidation records
     */
    getLoanReduces(params: GetLoanReducesRequestV3): Promise<APIResponse<LoanReduceItemV3[]>>;
    /**
     *
     * =====Strategy======= endpoints
     *
     */
    /**
     * Place Strategy Order
     */
    submitStrategyOrder(params: PlaceStrategyOrderRequestV3): Promise<APIResponse<PlaceStrategyOrderResponseV3>>;
    /**
     * Modify Strategy Order
     */
    modifyStrategyOrder(params: ModifyStrategyOrderRequestV3): Promise<APIResponse<ModifyStrategyOrderResponseV3>>;
    /**
     * Cancel Strategy Order
     */
    cancelStrategyOrder(params: CancelStrategyOrderRequestV3): Promise<APIResponse<null>>;
    /**
     * Get Unfilled Strategy Orders
     */
    getUnfilledStrategyOrders(params: GetUnfilledStrategyOrdersRequestV3): Promise<APIResponse<StrategyOrderV3[]>>;
    /**
     * Get Strategy Order History
     */
    getHistoryStrategyOrders(params: GetHistoryStrategyOrdersRequestV3): Promise<APIResponse<{
        list: StrategyOrderV3[];
        cursor?: string;
    }>>;
    /**
     *
     * =====Broker======= endpoints
     *
     */
    /**
     * Create Broker Sub-Account
     *
     * Rate limit: 20/sec/UID
     * Only the master account with a user type of ND Broker can call this API endpoint.
     */
    createBrokerSubAccount(params: CreateBrokerSubAccountRequestV3): Promise<APIResponse<CreateBrokerSubAccountResponseV3>>;
    /**
     * Get Broker Sub-Account List
     *
     * Rate limit: 20/sec/UID
     * Only the master account with a user type of ND Broker can call this API endpoint.
     */
    getBrokerSubAccountList(params?: GetBrokerSubAccountListRequestV3): Promise<APIResponse<GetBrokerSubAccountListResponseV3>>;
    /**
     * Modify Broker Sub-Account
     *
     * Rate limit: 20/sec/UID
     * Only the master account with a user type of ND Broker can call this API endpoint.
     */
    modifyBrokerSubAccount(params: ModifyBrokerSubAccountRequestV3): Promise<APIResponse<ModifyBrokerSubAccountResponseV3>>;
    /**
     * Broker Subaccount Withdrawal
     *
     * Broker sub-account withdrawal API has restrictions and currently supports only the following currencies:
     * BTC, ETH, USDT, USDC, TRX, XRP, LTC, SOL, BNB, FTM, DOGE, ADA, SHIB, UNI, SEI, SUI, POL, FIL, LINK, TON, ARB, OP, DOT, AVAX
     *
     * Rate limit: 20/sec/UID
     * Only the master account with a user type of ND Broker can call this API endpoint.
     */
    brokerSubWithdrawal(params: BrokerSubWithdrawalRequestV3): Promise<APIResponse<BrokerSubWithdrawalResponseV3>>;
    /**
     * Get Broker Subaccount Deposit Address
     *
     * Rate limit: 20/sec/UID
     * Only the master account with a user type of ND Broker can call this API endpoint.
     */
    getBrokerSubDepositAddress(params: GetBrokerSubDepositAddressRequestV3): Promise<APIResponse<BrokerSubDepositAddressV3>>;
    /**
     * Get All Broker Subaccount Deposit Withdrawal
     *
     * Rate limit: 20/sec/UID
     * Only the master account with a user type of ND Broker can call this API endpoint.
     */
    getBrokerAllSubDepositWithdrawal(params?: GetBrokerAllSubDepositWithdrawalRequestV3): Promise<APIResponse<GetBrokerAllSubDepositWithdrawalResponseV3>>;
    /**
     * Get Broker Commission
     *
     * Rate limit: 20/sec/UID
     * Only the master account with a user type of ND Broker can call this API endpoint.
     */
    getBrokerCommission(params?: GetBrokerCommissionRequestV3): Promise<APIResponse<BrokerCommissionRecordV3[]>>;
    /**
     * Create Broker Sub-Account API Key
     *
     * Rate limit: 20/sec/UID
     * Only the master account with a user type of ND Broker can call this API endpoint.
     */
    createBrokerSubApiKey(params: CreateBrokerSubApiKeyRequestV3): Promise<APIResponse<CreateBrokerSubApiKeyResponseV3>>;
    /**
     * Modify Broker Sub-Account API Key
     *
     * Rate limit: 20/sec/UID
     * Only the master account with a user type of ND Broker can call this API endpoint.
     */
    modifyBrokerSubApiKey(params: ModifyBrokerSubApiKeyRequestV3): Promise<APIResponse<ModifyBrokerSubApiKeyResponseV3>>;
    /**
     * Delete Broker Subaccount Apikey
     *
     * This endpoint has no response parameters.
     * It returns the deletion result synchronously.
     * Determine whether the deletion succeeded or failed (and the failure reason) based on the returned code and msg.
     *
     * Rate limit: 20/sec/UID
     * Only the master account with a user type of ND Broker can call this API endpoint.
     */
    deleteBrokerSubApiKey(params: DeleteBrokerSubApiKeyRequestV3): Promise<APIResponse<null>>;
    /**
     * Get Broker Sub-Account API Key
     *
     * Rate limit: 20/sec/UID
     * Only the master account with a user type of ND Broker can call this API endpoint.
     */
    getBrokerSubApiKey(params: GetBrokerSubApiKeyRequestV3): Promise<APIResponse<GetBrokerSubApiKeyResponseV3>>;
    /**
     *
     * =====Earn | On-Chain Elite (UTA)=====
     *
     */
    getEarnEliteProducts(): Promise<APIResponse<EarnEliteProductV3[]>>;
    getEarnEliteAssets(): Promise<APIResponse<EarnEliteAssetsV3>>;
    getEarnEliteRecords(params: GetEarnEliteRecordsRequestV3): Promise<APIResponse<EarnEliteRecordsV3>>;
    getEarnEliteSubscribeInfo(params: GetEarnEliteSubscribeInfoRequestV3): Promise<APIResponse<EarnEliteSubscribeInfoV3>>;
    subscribeEarnElite(params: EarnEliteSubscribeRequestV3): Promise<APIResponse<EarnEliteSubscribeResultV3>>;
    getEarnEliteSubscribeResult(params: GetEarnEliteSubscribeResultRequestV3): Promise<APIResponse<EarnEliteSubscribeStatusV3>>;
    getEarnEliteRedeemInfo(params: GetEarnEliteRedeemInfoRequestV3): Promise<APIResponse<EarnEliteRedeemInfoV3>>;
    redeemEarnElite(params: RedeemEarnEliteRequestV3): Promise<APIResponse<RedeemEarnEliteResultV3>>;
}
