import { AxiosRequestConfig } from 'axios';
import { ASSET_BILL_TYPE } from './constants';
import { AccountAssetValuation, AccountBalance, AccountBill, AccountChangeMarginResult, AccountConfiguration, AccountFeeRate, AccountHistoryBill, AccountInstrument, AccountIsolatedMode, AccountLevel, AccountLeverage, AccountLeverageResult, AccountMaxLoan, AccountMaxOrderAmount, AccountMaxTradableAmount, AccountModeResult, AccountPosition, AccountPositionModeResult, AccountPositionRisk, AccountRiskState, AdjustLeverageInfo, AdjustMarginBalanceRequest, AlgoLongHistoryRequest, AlgoOrderDetailsRequest, AlgoOrderDetailsResult, AlgoOrderListItem, AlgoOrderRequest, AlgoOrderResult, AlgoRecentHistoryRequest, AmendAlgoOrderRequest, AmendAlgoOrderResult, AmendedOrder, AmendOrderRequest, AmendRecurringBuyOrderRequest, AmendTPSLRequest, Announcement, APICredentials, APIMarket, APIResponse, AssetBillDetails, AutoLoanResult, BlockCounterParty, BlockMakerInstrumentSettings, BlockMMPConfig, BlockRFQResult, BorrowRepayHistoryItem, CancelAlgoOrderRequest, CancelAllAfterResponse, CancelBlockQuoteRequest, CancelBlockQuoteResult, CancelBlockRFQRequest, CancelBlockRFQResult, CancelledOrderResult, CancelMultipleBlockQuoteRequest, CancelMultipleBlockRFQRequest, CancelSignalBotsResult, CancelSpreadOrderResponse, CancelSubOrderRequest, Candle, CandleNoVolume, CandleRequest, ChangePositionMarginRequest, CloseContractGridPositionRequest, ClosedPositions, ClosePositionRequest, CloseSubpositionRequest, ContractGridDirection, ConvertQuoteEstimateRequest, ConvertTradeRequest, CopySettingsRequest, CreateBlockQuoteRequest, CreateBlockQuoteResult, CreateBlockRFQRequest, CreateRFQResult, CreateSignalBotRequest, CreateSignalBotResult, CreateSignalRequest, CreateSignalResult, CurrentSubposition, EconomicCalendarData, EconomicCalendarRequest, ExecuteBlockQuoteRequest, ExecuteBlockQuoteResult, FillsHistoryRequest, FixedLoanBorrowingLimit, FixedLoanBorrowQuote, FundingBalance, FundingCurrency, FundingRateRequest, FundsTransferRequest, FundTransferResult, FundTransferState, GetAccountConfigurationResult, GetActiveSpreadOrdersRequest, GetBlockQuoteParams, GetBlockQuoteResult, GetBlockRFQSParams, GetBorrowRepayHistoryRequest, GetContractOpenInterestHistoryRequest, GetContractTakerVolumeRequest, GetCopySettingsResult, GetCopyTradersRequest, GetCopyTradersResult, GetCopyTradingConfigResult, GetCTBatchLeverageInfoRequest, GetCTBatchLeverageInfoResult, GetCTHistoryLeadTradersRequest, GetCTHistoryLeadTradersResult, GetCTMyLeadTradersResult, GetCTProfitDetailsRequest, GetCTProfitDetailsResult, GetCTTotalProfitResult, GetCTUnrealizedProfitResult, GetCurrentSubpositionsRequest, GetDepositWithdrawStatusRequest, GetFixedLoanBorrowingOrdersListRequest, GetFixedLoanBorrowQuoteRequest, GetGridAlgoOrdersRequest, GetHistoricPositionParams, GetInstrumentsRequest, GetLeadTraderPositionsRequest, GetLeadTraderRanksRequest, GetLeadTraderRanksResult, GetLeadTraderStatsRequest, GetLendingOrderListRequest, GetLendingSubOrderListRequest, GetManagedSubAccountTransferHistoryRequest, GetOptionTradesRequest, GetPositionsParams, GetPremiumHistoryRequest, GetPrivateLeadTraderRanksRequest, GetPrivateLeadTraderRanksResult, GetQuickMarginBorrowRepayHistoryRequest, GetRecurringBuyOrderListRequest, GetRSIBackTestingRequest, GetSignalBotEventHistoryRequest, GetSignalBotPositionHistoryRequest, GetSignalBotRequest, GetSignalBotSubOrdersRequest, GetSignalsRequest, GetSignalsResult, GetSpreadCandlesRequest, GetSpreadOrderHistoryArchiveRequest, GetSpreadOrderHistoryRequest, GetSpreadsRequest, GetSpreadTradesRequest, GetSubAccountMaxWithdrawalsRequest, GetSubpositionsHistoryRequest, GetTopTradersContractLongShortRatioRequest, GetVIPInterestRequest, GetVIPLoanOrderDetailRequest, GetVIPLoanOrderListRequest, Greeks, GridAlgoOrderRequest, GridAlgoOrderType, GridAlgoSubOrderType, HistoricAccountPosition, HistoricAlgoOrder, HistoricOrder, IndexTicker, Instrument, InstrumentType, InterestAccrued, InterestRate, LeadTraderCurrentPosition, LeadTraderPnl, LeadTraderPositionHistory, LeadTraderPreference, LeadTraderStats, LendingOrder, ManagedSubAccountTransfer, MarginMode, MaxGridQuantityRequest, MaxWithdrawal, MMPConfig, NonTradableAsset, numberInString, OptionTrade, OptionTrades, OrderBook, OrderDetails, OrderFill, OrderHistoryRequest, OrderIdRequest, OrderListItem, OrderPrecheckRequest, OrderRequest, OrderResult, PaginatedSymbolRequest, Pagination, PlaceCTAlgoOrderRequest, PlaceCTAlgoOrderResult, PlaceRecurringBuyOrderRequest, PlaceSpreadOrderRequest, PlaceSpreadOrderResponse, PlaceSubOrderRequest, PositionBuilderRequest, PositionSide, PosMode, PublicBlockTrade, PublicSpreadTrade, QuickMarginBorrowRepayRecord, QuickMarginBorrowRepayRequest, QuickMarginBorrowRepayResult, RecurringBuyOrder, RecurringBuyOrderResult, RecurringBuySubOrder, RestClientOptions, SetCTBatchLeverageRequest, SetCTBatchLeverageResult, SetLeverageRequest, SetMMPConfigRequest, SetMmpConfigRequest, SetMMPConfigResult, SetMmpConfigResult, SetQuoteProductsRequest, SetSignalInstrumentsRequest, SetSubAccountLoanAllocationRequest, SpreadCandle, SpreadDetails, SpreadOrder, SpreadOrderBook, SpreadTicker, SpreadTrade, StopGridAlgoOrderRequest, SubAccount, SubAccountAPIReset, SubAccountBalances, SubAccountMaxWithdrawal, SubAccountTransferRequest, SubAccountTransferResult, SubmitFixedLoanBorrowingOrderRequest, SubpositionsHistory, SystemTime, Ticker, TimestampObject, Trade, UnitConvertData, UnitConvertRequest, UpdateFixedLoanBorrowingOrderRequest, UpdateSpreadOrderRequest, UpdateSpreadOrderResponse, VIPInterest, VIPLoanOrder, VIPLoanOrderDetail, WithdrawalHistoryRequest, WithdrawRequest, WithdrawResponse } from './types';
import { AccruedInterestItem, AccruedInterestRequest, AdjustCollateralRequest, CollateralAssetsResponse, LoanHistoryItem, LoanHistoryRequest, LoanInfo, MaxLoanRequest, MaxLoanResponse } from './types/rest/response/private-flexible-loan';
import BaseRestClient from './util/BaseRestClient';
export declare class RestClient extends BaseRestClient {
    /**
     * @public Creates an instance of the REST API client.
     */
    constructor(credentials?: APICredentials | null, environment?: APIMarket, restClientOptions?: RestClientOptions, requestOptions?: AxiosRequestConfig);
    /**
     *
     * 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>;
    /**
     *
     * OKX misc endpoints
     *
     */
    getServerTime(): Promise<number>;
    /**
     *
     * Trading account endpoints
     *
     */
    getAccountInstruments(params: GetInstrumentsRequest): Promise<AccountInstrument[]>;
    getBalance(params?: {
        ccy?: string;
    }): Promise<AccountBalance[]>;
    getPositions(params?: GetPositionsParams): Promise<AccountPosition[]>;
    getPositionsHistory(params?: GetHistoricPositionParams): Promise<HistoricAccountPosition[]>;
    getAccountPositionRisk(params?: {
        instType?: Omit<'SPOT', InstrumentType>;
    }): Promise<AccountPositionRisk[]>;
    /** Up to last 7 days */
    getBills(params?: any): Promise<AccountBill[]>;
    /** Last 3 months */
    getBillsArchive(params?: any): Promise<AccountBill[]>;
    /**
     * Apply for bill data since 1 February, 2021 except for the current quarter.
     * Check the file link from the "Get bills details (since 2021)" endpoint in 30 hours to allow for data generation.
     * During peak demand, data generation may take longer. If the file link is still unavailable after 48 hours, reach out to customer support for assistance.
     * It is only applicable to the data from the unified account.
     *
     * This endpoint submits a request for bill data. You can then use getRequestedBillsHistoryLink to get the link to the bill data.
     * It may take some time to generate the data.
     */
    requestBillsHistoryDownloadLink(params: {
        year: string;
        quarter: 'Q1' | 'Q2' | 'Q3' | 'Q4';
    }): Promise<AccountHistoryBill[]>;
    /**
     * This endpoint returns the link to the bill data which you can request using requestBillsHistoryDownloadLink.
     */
    getRequestedBillsHistoryLink(params: {
        year: string;
        quarter: 'Q1' | 'Q2' | 'Q3' | 'Q4';
    }): Promise<AccountHistoryBill[]>;
    getAccountConfiguration(): Promise<AccountConfiguration[]>;
    setPositionMode(params: {
        posMode: PosMode;
    }): Promise<AccountPositionModeResult[]>;
    setLeverage(params: SetLeverageRequest): Promise<AccountLeverageResult[]>;
    /** Max buy/sell amount or open amount */
    getMaxBuySellAmount(params: {
        instId: string;
        tdMode: 'cross' | 'isolated' | 'cash';
        ccy?: string;
        px?: string;
        leverage?: string;
        unSpotOffset?: boolean;
    }): Promise<AccountMaxOrderAmount[]>;
    getMaxAvailableTradableAmount(params: {
        instId: string;
        ccy?: string;
        tdMode: 'cross' | 'isolated' | 'cash';
        reduceOnly?: boolean;
        unSpotOffset?: boolean;
    }): Promise<AccountMaxTradableAmount[]>;
    changePositionMargin(params: ChangePositionMarginRequest): Promise<AccountChangeMarginResult[]>;
    getLeverage(params: {
        instId: string;
        mgnMode: MarginMode;
    }): Promise<AccountLeverage[]>;
    getLeverageV2(params: {
        instId?: string;
        ccy?: string;
        mgnMode: MarginMode;
    }): Promise<AccountLeverage[]>;
    getLeverageEstimatedInfo(params: {
        instType: string;
        mgnMode: MarginMode;
        lever: string;
        instId?: string;
        ccy?: string;
        posSide: PositionSide;
    }): Promise<AdjustLeverageInfo[]>;
    getMaxLoan(params: {
        instId: string;
        mgnMode: MarginMode;
        mgnCcy?: string;
        ccy?: string;
    }): Promise<AccountMaxLoan[]>;
    getFeeRates(params: {
        instType: InstrumentType;
        instId?: string;
        uly?: string;
        instFamily?: string;
        ruleType?: string;
    }): Promise<AccountFeeRate[]>;
    getInterestAccrued(params?: {
        type?: '1' | '2';
        ccy?: string;
        instId?: string;
        mgnMode?: MarginMode;
        after?: string;
        before?: string;
        limit?: string;
    }): Promise<InterestAccrued[]>;
    getInterestRate(params?: {
        ccy?: string;
    }): Promise<InterestRate[]>;
    setGreeksDisplayType(params: {
        greeksType: 'PA' | 'BS';
    }): Promise<Greeks[]>;
    setIsolatedMode(params: {
        isoMode: 'automatic' | 'autonomy';
        type: 'MARGIN' | 'CONTRACTS';
    }): Promise<AccountIsolatedMode[]>;
    getMaxWithdrawals(params?: {
        ccy?: string;
    }): Promise<MaxWithdrawal[]>;
    getAccountRiskState(): Promise<AccountRiskState[]>;
    submitQuickMarginBorrowRepay(params: QuickMarginBorrowRepayRequest): Promise<QuickMarginBorrowRepayResult[]>;
    getQuickMarginBorrowRepayHistory(params: GetQuickMarginBorrowRepayHistoryRequest): Promise<QuickMarginBorrowRepayRecord[]>;
    borrowRepayVIPLoan(params: {
        ccy: string;
        side: 'borrow' | 'repay';
        amt: numberInString;
        ordId?: string;
    }): Promise<any[]>;
    getVIPLoanBorrowRepayHistory(params?: any): Promise<any[]>;
    getVIPInterestAccrued(params: GetVIPInterestRequest): Promise<VIPInterest[]>;
    getVIPInterestDeducted(params: GetVIPInterestRequest): Promise<VIPInterest[]>;
    getVIPLoanOrders(params: GetVIPLoanOrderListRequest): Promise<VIPLoanOrder[]>;
    getVIPLoanOrder(params: GetVIPLoanOrderDetailRequest): Promise<VIPLoanOrderDetail[]>;
    getBorrowInterestLimits(params?: {
        type?: '1' | '2';
        ccy?: string;
    }): Promise<any[]>;
    getFixedLoanBorrowLimit(): Promise<FixedLoanBorrowingLimit[]>;
    getFixedLoanBorrowQuote(params: GetFixedLoanBorrowQuoteRequest): Promise<FixedLoanBorrowQuote[]>;
    submitFixedLoanBorrowOrder(params: SubmitFixedLoanBorrowingOrderRequest): Promise<{
        ordId: string;
    }[]>;
    updateFixedLoanBorrowOrder(params: UpdateFixedLoanBorrowingOrderRequest): Promise<{
        ordId: string;
    }[]>;
    manualRenewFixedLoanBorrowOrder(params: {
        ordId: string;
        maxRate: string;
    }): Promise<{
        ordId: string;
    }[]>;
    repayFixedLoanBorrowOrder(params: {
        ordId: string;
    }): Promise<{
        ordId: string;
    }[]>;
    convertFixedLoanToMarketLoan(params: {
        ordId: string;
    }): Promise<{
        ordId: string;
    }[]>;
    reduceFixedLoanLiabilities(params: {
        ordId: string;
        pendingRepay: boolean;
    }): Promise<{
        ordId: string;
        pendingRepay: boolean;
    }[]>;
    getFixedLoanBorrowOrders(params: GetFixedLoanBorrowingOrdersListRequest): Promise<any[]>;
    manualBorrowRepay(params: {
        ccy: string;
        side: 'borrow' | 'repay';
        amt: string;
    }): Promise<{
        ccy: string;
        side: 'borrow' | 'repay';
        amt: string;
    }[]>;
    setAutoRepay(params: {
        autoRepay: boolean;
    }): Promise<{
        autoRepay: boolean;
    }[]>;
    getBorrowRepayHistory(params?: GetBorrowRepayHistoryRequest): Promise<BorrowRepayHistoryItem[]>;
    positionBuilder(params: PositionBuilderRequest): Promise<any[]>;
    updateRiskOffsetAmount(params: {
        ccy: string;
        clSpotInUseAmt: string;
    }): Promise<{
        ccy: string;
        clSpotInUseAmt: string;
    }[]>;
    getGreeks(params?: {
        ccy?: string;
    }): Promise<any[]>;
    getPMLimitation(params: {
        instType: 'SWAP' | 'FUTURES' | 'OPTION';
        uly?: string;
        instFamily?: string;
    }): Promise<any[]>;
    updateRiskOffsetType(params: {
        type: '1' | '2' | '3' | '4';
    }): Promise<{
        type: '1' | '2' | '3' | '4';
    }[]>;
    activateOption(): Promise<{
        ts: string;
    }[]>;
    setAutoLoan(params: {
        autoLoan: boolean;
    }): Promise<AutoLoanResult[]>;
    presetAccountLevelSwitch(params: {
        acctLv: '2' | '3' | '4';
        lever?: string;
        riskOffsetType?: '1' | '2' | '3' | '4';
    }): Promise<any[]>;
    getAccountSwitchPrecheck(params: {
        acctLv: '1' | '2' | '3' | '4';
    }): Promise<any[]>;
    setAccountMode(params: {
        acctLv: AccountLevel;
    }): Promise<AccountModeResult[]>;
    resetMMPStatus(params: {
        instType?: 'OPTION';
        instFamily: string;
    }): Promise<{
        result: boolean;
    }[]>;
    setMMPConfig(params: SetMMPConfigRequest): Promise<SetMMPConfigResult[]>;
    getMMPConfig(params?: {
        instFamily?: string;
    }): Promise<MMPConfig[]>;
    /**
     *
     * Orderbook trading - trade endpoints
     *
     */
    submitOrder(params: OrderRequest): Promise<OrderResult[]>;
    submitMultipleOrders(params: OrderRequest[]): Promise<OrderResult[]>;
    cancelOrder(params: OrderIdRequest): Promise<CancelledOrderResult[]>;
    cancelMultipleOrders(params: OrderIdRequest[]): Promise<CancelledOrderResult[]>;
    amendOrder(params: AmendOrderRequest): Promise<AmendedOrder[]>;
    amendMultipleOrders(params: AmendOrderRequest[]): Promise<AmendedOrder[]>;
    closePositions(params: ClosePositionRequest): Promise<ClosedPositions[]>;
    getOrderDetails(params: OrderIdRequest): Promise<OrderDetails[]>;
    getOrderList(params?: OrderHistoryRequest): Promise<OrderListItem[]>;
    /**
     * Get history for last 7 days
     */
    getOrderHistory(params: OrderHistoryRequest): Promise<HistoricOrder[]>;
    /**
     * Get history for last 3 months
     */
    getOrderHistoryArchive(params: OrderHistoryRequest): Promise<HistoricOrder[]>;
    /**
     * Get history for last 7 days
     */
    getFills(params?: FillsHistoryRequest): Promise<OrderFill[]>;
    /**
     * Get history for last 3 months
     */
    getFillsHistory(params: FillsHistoryRequest): Promise<OrderFill[]>;
    /** Get easy convert currency list */
    getEasyConvertCurrencies(params?: {
        source?: string;
    }): Promise<any>;
    /**
     *
     * Place easy convert : Convert small currencies to mainstream currencies.
     * Only applicable to the crypto balance less than $10.
     *
     * Maximum 5 currencies can be selected in one order.
     * If there are multiple currencies, separate them with commas in the "from" field.
     *
     */
    submitEasyConvert(params: {
        fromCcys: string[];
        toCcy: string;
        source?: string;
    }): Promise<APIResponse<any>>;
    /** Get easy convert history : Get the history and status of easy convert trades. */
    getEasyConvertHistory(params?: Pagination): Promise<APIResponse<any>>;
    /**
     *
     * Get one-click repay currency list : Get list of debt currency data and repay currencies.
     * Debt currencies include both cross and isolated debts.
     */
    getOneClickRepayCurrencyList(params?: {
        debtType?: 'cross' | 'isolated';
    }): Promise<APIResponse<any>>;
    /**
     * Trade one-click repay to repay cross debts.
     * Isolated debts are not applicable.
     * The maximum repayment amount is based on the remaining available balance of funding and trading accounts.
     */
    submitOneClickRepay(params: {
        debtCcys: string[];
        repayCcy: string;
    }): Promise<APIResponse<any>>;
    /** Get the history and status of one-click repay trades. */
    getOneClickRepayHistory(params?: Pagination): Promise<APIResponse<any>>;
    cancelMassOrder(params: {
        instType: string;
        instFamily: string;
        lockInterval?: string;
    }): Promise<{
        result: boolean;
    }[]>;
    cancelAllAfter(params: {
        timeOut: string;
        tag?: string;
    }): Promise<CancelAllAfterResponse[]>;
    getAccountRateLimit(): Promise<any[]>;
    submitOrderPrecheck(params: OrderPrecheckRequest): Promise<any[]>;
    /**
     *
     * Orderbook trading - Algo trading endpoints
     *
     */
    placeAlgoOrder(params: AlgoOrderRequest): Promise<AlgoOrderResult[]>;
    cancelAlgoOrder(params: CancelAlgoOrderRequest[]): Promise<AlgoOrderResult[]>;
    amendAlgoOrder(params: AmendAlgoOrderRequest): Promise<AmendAlgoOrderResult[]>;
    cancelAdvanceAlgoOrder(params: CancelAlgoOrderRequest[]): Promise<AlgoOrderResult[]>;
    getAlgoOrderDetails(params: AlgoOrderDetailsRequest): Promise<AlgoOrderDetailsResult[]>;
    getAlgoOrderList(params: AlgoRecentHistoryRequest): Promise<AlgoOrderListItem[]>;
    getAlgoOrderHistory(params: AlgoLongHistoryRequest): Promise<HistoricAlgoOrder[]>;
    /**
     *
     * Orderbook trading - Grid trading endpoints
     *
     */
    placeGridAlgoOrder(params: GridAlgoOrderRequest): Promise<any[]>;
    amendGridAlgoOrder(params: {
        algoId: string;
        instId: string;
        slTriggerPx?: string;
        tpTriggerPx?: string;
        tpRatio?: string;
        slRatio?: string;
        triggerParams?: {
            triggerAction?: string;
            triggerStrategy?: string;
            triggerPx?: string;
            stopType?: string;
        }[];
    }): Promise<any[]>;
    stopGridAlgoOrder(orders: StopGridAlgoOrderRequest[]): Promise<any[]>;
    closeGridContractPosition(params: CloseContractGridPositionRequest): Promise<any[]>;
    cancelGridContractCloseOrder(params: {
        algoId: string;
        ordId: string;
    }): Promise<any[]>;
    instantTriggerGridAlgoOrder(params: {
        algoId: string;
    }): Promise<{
        algoId: string;
        algoClOrdId: string;
    }[]>;
    getGridAlgoOrderList(params: GetGridAlgoOrdersRequest): Promise<any[]>;
    getGridAlgoOrderHistory(params: GetGridAlgoOrdersRequest): Promise<any[]>;
    getGridAlgoOrderDetails(params: {
        algoOrdType: GridAlgoOrderType;
        algoId: string;
    }): Promise<any[]>;
    getGridAlgoSubOrders(params: {
        algoOrdType: GridAlgoOrderType;
        algoId: string;
        type: GridAlgoSubOrderType;
        groupId?: string;
        after?: numberInString;
        before?: numberInString;
        limit?: number;
    }): Promise<any[]>;
    getGridAlgoOrderPositions(params: {
        algoOrdType: 'contract_grid';
        algoId: string;
    }): Promise<any[]>;
    spotGridWithdrawIncome(params: {
        algoId: string;
    }): Promise<any[]>;
    computeGridMarginBalance(params: {
        algoId: string;
        type: 'add' | 'reduce';
        amt?: numberInString;
    }): Promise<any[]>;
    adjustGridMarginBalance(params: {
        algoId: string;
        type: 'add' | 'reduce';
        amt?: numberInString;
        percent?: numberInString;
    }): Promise<any[]>;
    adjustGridInvestment(params: {
        algoId: string;
        amt: string;
    }): Promise<{
        algoId: string;
    }[]>;
    getGridAIParameter(params: {
        algoOrdType: GridAlgoOrderType;
        instId: string;
        direction: ContractGridDirection;
        duration?: '7D' | '30D' | '180D';
    }): Promise<any[]>;
    computeGridMinInvestment(params: {
        amt: string;
        ccy: string;
    }): Promise<any[]>;
    getRSIBackTesting(params: GetRSIBackTestingRequest): Promise<{
        triggerNum: string;
    }[]>;
    getMaxGridQuantity(params: MaxGridQuantityRequest): Promise<{
        maxGridQty: string;
    }[]>;
    /**
     *
     * Orderbook trading - Signal bot trading endpoints
     *
     */
    createSignal(params: CreateSignalRequest): Promise<CreateSignalResult[]>;
    getSignals(params: GetSignalsRequest): Promise<GetSignalsResult[]>;
    createSignalBot(params: CreateSignalBotRequest): Promise<CreateSignalBotResult[]>;
    cancelSignalBots(params: {
        algoId: string;
    }): Promise<CancelSignalBotsResult[]>;
    updateSignalMargin(params: AdjustMarginBalanceRequest): Promise<{
        algoId: string;
    }[]>;
    updateSignalTPSL(params: AmendTPSLRequest): Promise<{
        algoId: string;
    }[]>;
    setSignalInstruments(params: SetSignalInstrumentsRequest): Promise<{
        algoId: string;
    }[]>;
    getSignalBotOrder(params: {
        algoOrdType: string;
        algoId: string;
    }): Promise<any[]>;
    getActiveSignalBot(params: GetSignalBotRequest): Promise<any[]>;
    getSignalBotHistory(params: GetSignalBotRequest): Promise<any[]>;
    getSignalBotPositions(params: {
        algoOrdType: string;
        algoId: string;
    }): Promise<any[]>;
    getSignalBotPositionHistory(params: GetSignalBotPositionHistoryRequest): Promise<any[]>;
    closeSignalBotPosition(params: {
        algoId: string;
        instId: string;
    }): Promise<{
        algoId: string;
    }[]>;
    placeSignalBotSubOrder(params: PlaceSubOrderRequest): Promise<any[]>;
    cancelSubOrder(params: CancelSubOrderRequest): Promise<any[]>;
    getSignalBotSubOrders(params: GetSignalBotSubOrdersRequest): Promise<any[]>;
    getSignalBotEventHistory(params: GetSignalBotEventHistoryRequest): Promise<any[]>;
    /**
     *
     * Orderbook trading - Recurring buy endpoints
     *
     */
    submitRecurringBuyOrder(params: PlaceRecurringBuyOrderRequest): Promise<RecurringBuyOrderResult[]>;
    amendRecurringBuyOrder(params: AmendRecurringBuyOrderRequest): Promise<RecurringBuyOrderResult[]>;
    stopRecurringBuyOrder(params: {
        algoId: string;
    }): Promise<RecurringBuyOrderResult[]>;
    getRecurringBuyOrders(params: GetRecurringBuyOrderListRequest): Promise<RecurringBuyOrder[]>;
    getRecurringBuyOrderHistory(params: GetRecurringBuyOrderListRequest): Promise<RecurringBuyOrder[]>;
    getRecurringBuyOrderDetails(params: {
        algoId: string;
    }): Promise<RecurringBuyOrder[]>;
    getRecurringBuySubOrders(params: GetRecurringBuyOrderListRequest): Promise<RecurringBuySubOrder[]>;
    /**
     *
     * Orderbook trading - Copy trading endpoints
     *
     */
    getCopytradingSubpositions(params?: GetCurrentSubpositionsRequest): Promise<CurrentSubposition[]>;
    getCopytradingSubpositionsHistory(params?: GetSubpositionsHistoryRequest): Promise<SubpositionsHistory[]>;
    submitCopytradingAlgoOrder(params: PlaceCTAlgoOrderRequest): Promise<PlaceCTAlgoOrderResult[]>;
    closeCopytradingSubposition(params: CloseSubpositionRequest): Promise<{
        subPosId: string;
        tag: string;
    }[]>;
    getCopytradingInstruments(params?: {
        instType?: 'SPOT' | 'SWAP';
    }): Promise<{
        instId: string;
        enabled: boolean;
    }[]>;
    setCopytradingInstruments(params: {
        instType?: 'SPOT' | 'SWAP';
        instId: string;
    }): Promise<{
        instId: string;
        enabled: boolean;
    }[]>;
    getCopytradingProfitDetails(params?: GetCTProfitDetailsRequest): Promise<GetCTProfitDetailsResult[]>;
    getCopytradingTotalProfit(params?: {
        instType?: 'SPOT' | 'SWAP';
    }): Promise<GetCTTotalProfitResult[]>;
    getCopytradingUnrealizedProfit(params?: {
        instType?: 'SPOT' | 'SWAP';
    }): Promise<GetCTUnrealizedProfitResult[]>;
    getCopytradingTotalUnrealizedProfit(params?: {
        instType?: 'SWAP';
    }): Promise<{
        instType?: 'SWAP';
        instId: string;
    }[]>;
    applyCopytradingLeadTrading(params: {
        profitSharingTs: string;
        totalUnrealizedProfitSharingAmt: string;
    }): Promise<{
        result: boolean;
    }[]>;
    stopCopytradingLeadTrading(params: {
        instType?: 'SWAP';
    }): Promise<{
        result: boolean;
    }[]>;
    updateCopytradingProfitSharing(params: {
        instType?: 'SWAP';
        profitSharingRatio: string;
    }): Promise<{
        result: boolean;
    }[]>;
    getCopytradingAccount(): Promise<GetAccountConfigurationResult[]>;
    setCopytradingFirstCopy(params: CopySettingsRequest): Promise<{
        result: boolean;
    }[]>;
    updateCopytradingCopySettings(params: CopySettingsRequest): Promise<{
        result: boolean;
    }[]>;
    stopCopytradingCopy(params: {
        instType?: 'SWAP';
        uniqueCode: string;
        subPosCloseType: 'market_close' | 'copy_close' | 'manual_close';
    }): Promise<{
        result: boolean;
    }[]>;
    getCopytradingCopySettings(params: {
        instType?: 'SWAP';
        uniqueCode: string;
    }): Promise<GetCopySettingsResult[]>;
    getCopytradingBatchLeverageInfo(params: GetCTBatchLeverageInfoRequest): Promise<GetCTBatchLeverageInfoResult[]>;
    setCopytradingBatchLeverage(params: SetCTBatchLeverageRequest): Promise<SetCTBatchLeverageResult[]>;
    getCopytradingMyLeadTraders(params?: {
        instType?: 'SWAP';
    }): Promise<GetCTMyLeadTradersResult[]>;
    getCopytradingLeadTradersHistory(params?: GetCTHistoryLeadTradersRequest): Promise<GetCTHistoryLeadTradersResult[]>;
    getCopytradingConfig(params?: {
        instType?: 'SWAP';
    }): Promise<GetCopyTradingConfigResult[]>;
    getCopytradingLeadRanks(params?: GetLeadTraderRanksRequest): Promise<GetLeadTraderRanksResult[]>;
    getCopytradingLeadWeeklyPnl(params: {
        instType?: 'SWAP';
        uniqueCode: string;
    }): Promise<LeadTraderPnl[]>;
    getCopytradingLeadDailyPnl(params: GetLeadTraderStatsRequest): Promise<LeadTraderPnl[]>;
    getCopytradingLeadStats(params: GetLeadTraderStatsRequest): Promise<LeadTraderStats[]>;
    getCopytradingLeadPreferences(params: {
        instType?: 'SWAP';
        uniqueCode: string;
    }): Promise<LeadTraderPreference[]>;
    getCopytradingLeadOpenPositions(params: GetLeadTraderPositionsRequest): Promise<LeadTraderCurrentPosition[]>;
    getCopytradingLeadPositionHistory(params: GetLeadTraderPositionsRequest): Promise<LeadTraderPositionHistory[]>;
    getCopyTraders(params: GetCopyTradersRequest): Promise<GetCopyTradersResult[]>;
    getCopytradingLeadPrivateRanks(params?: GetPrivateLeadTraderRanksRequest): Promise<GetPrivateLeadTraderRanksResult[]>;
    getCopytradingLeadPrivateWeeklyPnl(params: {
        instType?: 'SWAP';
        uniqueCode: string;
    }): Promise<LeadTraderPnl[]>;
    getCopytradingPLeadPrivateDailyPnl(params: GetLeadTraderStatsRequest): Promise<LeadTraderPnl[]>;
    geCopytradingLeadPrivateStats(params: GetLeadTraderStatsRequest): Promise<LeadTraderStats[]>;
    getCopytradingLeadPrivatePreferences(params: {
        instType?: 'SWAP';
        uniqueCode: string;
    }): Promise<LeadTraderPreference[]>;
    getCopytradingLeadPrivateOpenPositions(params: GetLeadTraderPositionsRequest): Promise<LeadTraderCurrentPosition[]>;
    getCopytradingLeadPrivatePositionHistory(params: GetLeadTraderPositionsRequest): Promise<LeadTraderPositionHistory[]>;
    getCopyTradersPrivate(params: GetCopyTradersRequest): Promise<GetCopyTradersResult[]>;
    /**
     *
     * Orderbook trading - Market data endpoints
     *
     */
    getTickers(params: {
        instType: InstrumentType;
        uly?: string;
        instFamily?: string;
    }): Promise<Ticker[]>;
    getTicker(params: {
        instId: string;
    }): Promise<Ticker[]>;
    getOrderBook(params: {
        instId: string;
        sz?: numberInString;
    }): Promise<OrderBook[]>;
    getFullOrderBook(params: {
        instId: string;
        sz?: string;
    }): Promise<OrderBook[]>;
    getCandles(params: CandleRequest): Promise<Candle[]>;
    getHistoricCandles(params: CandleRequest): Promise<Candle[]>;
    getTrades(params: {
        instId: string;
        limit?: number;
    }): Promise<Trade[]>;
    getHistoricTrades(params: {
        instId: string;
        after?: numberInString;
        before?: numberInString;
        limit?: numberInString;
        type?: '1' | '2';
    }): Promise<Trade[]>;
    getOptionTradesByInstrument(params: {
        instFamily: string;
    }): Promise<OptionTrade[]>;
    getOptionTrades(params: GetOptionTradesRequest): Promise<OptionTrades[]>;
    get24hrTotalVolume(): Promise<any[]>;
    /**
     *
     * Block trading - REST endpoints
     *
     */
    getBlockCounterParties(): Promise<BlockCounterParty[]>;
    createBlockRFQ(params: CreateBlockRFQRequest): Promise<CreateRFQResult[]>;
    cancelBlockRFQ(params: CancelBlockRFQRequest): Promise<CancelBlockRFQResult[]>;
    cancelMultipleBlockRFQs(params: CancelMultipleBlockRFQRequest): Promise<CancelBlockRFQResult[]>;
    cancelAllRFQs(): Promise<TimestampObject[]>;
    executeBlockQuote(params: ExecuteBlockQuoteRequest): Promise<ExecuteBlockQuoteResult[]>;
    getQuoteProducts(): Promise<BlockMakerInstrumentSettings[]>;
    updateBlockQuoteProducts(params: SetQuoteProductsRequest): Promise<{
        result: boolean;
    }[]>;
    resetBlockMmp(): Promise<{
        ts: string;
    }[]>;
    updateBlockMmpConfig(params: SetMmpConfigRequest): Promise<SetMmpConfigResult[]>;
    getBlockMmpConfig(): Promise<BlockMMPConfig[]>;
    createBlockQuote(params: CreateBlockQuoteRequest): Promise<CreateBlockQuoteResult[]>;
    cancelBlockQuote(params: CancelBlockQuoteRequest): Promise<CancelBlockQuoteResult[]>;
    cancelMultipleBlockQuotes(params: CancelMultipleBlockQuoteRequest): Promise<CancelBlockQuoteResult[]>;
    cancelAllBlockQuotes(): Promise<TimestampObject[]>;
    cancelAllBlockAfter(params: {
        timeOut: string;
    }): Promise<{
        triggerTime: string;
        ts: string;
    }[]>;
    getBlockRFQs(params?: GetBlockRFQSParams): Promise<BlockRFQResult[]>;
    getBlockQuotes(params?: GetBlockQuoteParams): Promise<GetBlockQuoteResult[]>;
    getBlockTrades(params?: any): Promise<any[]>;
    getPublicRFQBlockTrades(params?: any): Promise<any[]>;
    getBlockTickers(params: {
        instType: InstrumentType;
        uly?: string;
    }): Promise<any[]>;
    getBlockTicker(params: {
        instId: string;
    }): Promise<any[]>;
    getBlockPublicTrades(params: {
        instId: string;
    }): Promise<PublicBlockTrade[]>;
    /**
     *
     * Spread trading - REST endpoints
     *
     */
    submitSpreadOrder(params: PlaceSpreadOrderRequest): Promise<PlaceSpreadOrderResponse[]>;
    cancelSpreadOrder(params?: {
        ordId?: string;
        clOrdId?: string;
    }): Promise<CancelSpreadOrderResponse[]>;
    cancelAllSpreadOrders(params: {
        sprdId?: string;
    }): Promise<{
        result: boolean;
    }[]>;
    updateSpreadOrder(params: UpdateSpreadOrderRequest): Promise<UpdateSpreadOrderResponse[]>;
    getSpreadOrder(params: {
        ordId?: string;
        clOrdId?: string;
    }): Promise<SpreadOrder[]>;
    getSpreadActiveOrders(params?: GetActiveSpreadOrdersRequest): Promise<SpreadOrder[]>;
    getSpreadOrdersRecent(params?: GetSpreadOrderHistoryRequest): Promise<SpreadOrder[]>;
    getSpreadOrdersArchive(params?: GetSpreadOrderHistoryArchiveRequest): Promise<SpreadOrder[]>;
    getSpreadTrades(params?: GetSpreadTradesRequest): Promise<SpreadTrade[]>;
    getSpreads(params?: GetSpreadsRequest): Promise<SpreadDetails[]>;
    getSpreadOrderBook(params: {
        sprdId: string;
        sz?: string;
    }): Promise<SpreadOrderBook[]>;
    getSpreadTicker(params: {
        sprdId: string;
    }): Promise<SpreadTicker[]>;
    getSpreadPublicTrades(params?: {
        sprdId?: string;
    }): Promise<PublicSpreadTrade[]>;
    getSpreadCandles(params: GetSpreadCandlesRequest): Promise<SpreadCandle[]>;
    getSpreadHistoryCandles(params: GetSpreadCandlesRequest): Promise<SpreadCandle[]>;
    cancelSpreadAllAfter(params: {
        timeOut: string;
    }): Promise<{
        triggerTime: string;
        ts: string;
    }[]>;
    /**
     *
     * Public data - rest endpoints
     *
     */
    getInstruments(params: {
        instType: InstrumentType;
        uly?: string;
        instFamily?: string;
        instId?: string;
    }): Promise<Instrument[]>;
    getDeliveryExerciseHistory(params: any): Promise<any[]>;
    getOpenInterest(params: any): Promise<any[]>;
    getFundingRate(params: any): Promise<any[]>;
    getFundingRateHistory(params: FundingRateRequest): Promise<any[]>;
    getMinMaxLimitPrice(params: any): Promise<any[]>;
    getOptionMarketData(params: any): Promise<any[]>;
    getEstimatedDeliveryExercisePrice(params: any): Promise<any[]>;
    getDiscountRateAndInterestFreeQuota(params: any): Promise<any[]>;
    getSystemTime(params: any): Promise<SystemTime[]>;
    getMarkPrice(params: any): Promise<any[]>;
    getPositionTiers(params: any): Promise<any[]>;
    getInterestRateAndLoanQuota(params: any): Promise<any[]>;
    getVIPInterestRateAndLoanQuota(params: any): Promise<any[]>;
    getUnderlying(params: any): Promise<any[]>;
    getInsuranceFund(params: any): Promise<any[]>;
    getUnitConvert(params: UnitConvertRequest): Promise<UnitConvertData[]>;
    getOptionTickBands(params: {
        instType: string;
        instFamily?: string;
    }): Promise<any[]>;
    getPremiumHistory(params: GetPremiumHistoryRequest): Promise<any[]>;
    getIndexTickers(params: {
        quoteCcy?: string;
        instId?: string;
    }): Promise<IndexTicker[]>;
    getIndexCandles(params: CandleRequest): Promise<CandleNoVolume[]>;
    getHistoricIndexCandles(params: CandleRequest): Promise<CandleNoVolume[]>;
    getMarkPriceCandles(params: CandleRequest): Promise<CandleNoVolume[]>;
    getHistoricMarkPriceCandles(params: CandleRequest): Promise<CandleNoVolume[]>;
    getOracle(): Promise<any[]>;
    getExchangeRate(): Promise<any[]>;
    getIndexComponents(params: {
        index: string;
    }): Promise<any[]>;
    getEconomicCalendar(params: EconomicCalendarRequest): Promise<EconomicCalendarData[]>;
    getPublicBlockTrades(params: {
        instId: string;
    }): Promise<any[]>;
    /**
     *
     * Trading statistics - REST endpoints
     *
     */
    getSupportCoin(): Promise<any[]>;
    getOpenInterestHistory(params: GetContractOpenInterestHistoryRequest): Promise<any[]>;
    getTakerVolume(params: {
        instType: string;
        ccy: string;
        period?: string;
        end?: string;
        begin?: string;
    }): Promise<any[]>;
    getContractTakerVolume(params: GetContractTakerVolumeRequest): Promise<any[]>;
    getMarginLendingRatio(params: {
        ccy: string;
        begin?: numberInString;
        end?: numberInString;
        period: '5m' | '1H' | '1D';
    }): Promise<any[]>;
    getTopTradersAccountRatio(params: GetTopTradersContractLongShortRatioRequest): Promise<any[]>;
    getTopTradersContractPositionRatio(params: GetTopTradersContractLongShortRatioRequest): Promise<any[]>;
    getLongShortContractRatio(params: GetTopTradersContractLongShortRatioRequest): Promise<any[]>;
    getLongShortRatio(params: {
        ccy: string;
        begin?: numberInString;
        end?: numberInString;
        period: '5m' | '1H' | '1D';
    }): Promise<any[]>;
    getContractsOpenInterestAndVolume(params: {
        ccy: string;
        begin?: numberInString;
        end?: numberInString;
        period: '5m' | '1H' | '1D';
    }): Promise<any[]>;
    getOptionsOpenInterestAndVolume(params: {
        ccy: string;
        period: '8H' | '1D';
    }): Promise<any[]>;
    getPutCallRatio(params: {
        ccy: string;
        period: '8H' | '1D';
    }): Promise<any[]>;
    getOpenInterestAndVolumeExpiry(params: {
        ccy: string;
        period: '8H' | '1D';
    }): Promise<any[]>;
    getOpenInterestAndVolumeStrike(params: {
        ccy: string;
        expTime: string;
        period: '8H' | '1D';
    }): Promise<any[]>;
    getTakerFlow(params: {
        ccy: string;
        period: '8H' | '1D';
    }): Promise<any[]>;
    /**
     *
     * Funding account - REST endpoints
     *
     */
    getCurrencies(params: {
        ccy?: string;
    }): Promise<FundingCurrency[]>;
    getBalances(params: {
        ccy?: string;
    }): Promise<FundingBalance[]>;
    getNonTradableAssets(params?: {
        ccy?: string;
    }): Promise<NonTradableAsset[]>;
    getAccountAssetValuation(params: {
        ccy?: string;
    }): Promise<AccountAssetValuation[]>;
    fundsTransfer(params: FundsTransferRequest): Promise<FundTransferResult[]>;
    /** Either parameter transId or clientId is required. */
    getFundsTransferState(params: {
        transId?: string;
        clientId?: string;
        type?: '0' | '1' | '2';
    }): Promise<FundTransferState[]>;
    getAssetBillsDetails(params?: {
        ccy?: string;
        type?: `${ASSET_BILL_TYPE}`;
        clientId?: string;
        after?: numberInString;
        before?: numberInString;
        limit?: numberInString;
    }): Promise<AssetBillDetails[]>;
    getLightningDeposits(params: {
        ccy: string;
        amt: numberInString;
        to?: '6' | '18';
    }): Promise<any[]>;
    getDepositAddress(params: {
        ccy: string;
    }): Promise<any[]>;
    getDepositHistory(params?: any): Promise<any[]>;
    submitWithdraw(params: WithdrawRequest): Promise<WithdrawResponse[]>;
    submitWithdrawLightning(params: {
        ccy: string;
        invoice: string;
        memo?: string;
    }): Promise<any[]>;
    cancelWithdrawal(params: {
        wdId: string;
    }): Promise<any[]>;
    getWithdrawalHistory(params?: WithdrawalHistoryRequest): Promise<any[]>;
    getDepositWithdrawStatus(params: GetDepositWithdrawStatusRequest): Promise<any[]>;
    getExchanges(): Promise<any[]>;
    applyForMonthlyStatement(params?: {
        month?: string;
    }): Promise<any[]>;
    getMonthlyStatement(params: {
        month: string;
    }): Promise<any[]>;
    getConvertCurrencies(): Promise<any[]>;
    getConvertCurrencyPair(params: {
        fromCcy: string;
        toCcy: string;
    }): Promise<any[]>;
    estimateConvertQuote(params: ConvertQuoteEstimateRequest): Promise<any[]>;
    convertTrade(params: ConvertTradeRequest): Promise<any[]>;
    getConvertHistory(params?: any): Promise<any[]>;
    /**
     *
     * Subaccount - REST endpoints
     *
     */
    /** View sub-account list */
    getSubAccountList(params?: any): Promise<SubAccount[]>;
    resetSubAccountAPIKey(params: {
        subAcct: string;
        apiKey: string;
        label?: string;
        perm?: string;
        ip?: string;
    }): Promise<SubAccountAPIReset[]>;
    getSubAccountBalances(params: {
        subAcct: string;
    }): Promise<SubAccountBalances[]>;
    getSubAccountFundingBalances(params: {
        subAcct: string;
        ccy?: string;
    }): Promise<FundingBalance[]>;
    getSubAccountMaxWithdrawal(params: GetSubAccountMaxWithdrawalsRequest): Promise<SubAccountMaxWithdrawal[]>;
    /** History of sub-account transfer */
    getSubAccountTransferHistory(params?: {
        ccy?: string;
        type?: '0' | '1';
        subAcct?: string;
        after?: string;
        before?: string;
        limit?: string;
    }): Promise<any[]>;
    getManagedSubAccountTransferHistory(params: GetManagedSubAccountTransferHistoryRequest): Promise<ManagedSubAccountTransfer[]>;
    /** Master accounts manage the transfers between sub-accounts */
    transferSubAccountBalance(params: SubAccountTransferRequest): Promise<SubAccountTransferResult[]>;
    setSubAccountTransferOutPermission(params: {
        subAcct: string;
        canTransOut: boolean;
    }): Promise<any[]>;
    getSubAccountCustodyTradingList(params: {
        subAcct?: string;
    }): Promise<any[]>;
    setSubAccountLoanAllocation(params: SetSubAccountLoanAllocationRequest): Promise<{
        result: boolean;
    }[]>;
    getSubAccountBorrowInterestAndLimit(params: {
        subAcct: string;
        ccy?: string;
    }): Promise<any[]>;
    /**
     *
     * Financial product - on chain earn endpoints
     *
     */
    /** Get earn offers */
    getStakingOffers(params?: {
        productId?: string;
        protocolType?: 'staking' | 'defi';
        ccy?: string;
    }): Promise<any[]>;
    submitStake(params: {
        productId: string;
        investData: {
            ccy: string;
            amt: string;
        }[];
        term?: string;
    }): Promise<any[]>;
    redeemStake(params: {
        ordId: string;
        protocolType: 'staking' | 'defi';
        allowEarlyRedeem?: boolean;
    }): Promise<any[]>;
    cancelStakingRequest(params: {
        ordId: string;
        protocolType: 'staking' | 'defi';
    }): Promise<any[]>;
    /** Earn/staking get active orders */
    getActiveStakingOrders(params?: {
        productId?: string;
        protocolType?: 'staking' | 'defi';
        ccy?: string;
        state?: '8' | '13' | '9' | '1' | '2';
    }): Promise<any[]>;
    /** Earn/staking get order history */
    getStakingOrderHistory(params?: {
        productId?: string;
        protocolType?: string;
        ccy?: string;
        after?: string;
        before?: string;
        limit?: string;
    }): Promise<any[]>;
    /**
     *
     * Financial product - ETH staking endpoints
     *
     */
    getETHStakingProductInfo(): Promise<any[]>;
    purchaseETHStaking(params: {
        amt: string;
    }): Promise<any[]>;
    redeemETHStaking(params: {
        amt: string;
    }): Promise<any[]>;
    getETHStakingBalance(): Promise<any[]>;
    getETHStakingHistory(params: {
        type: 'purchase' | 'redeem';
        status?: 'pending' | 'success' | 'failed';
        after?: string;
        before?: string;
        limit?: string;
    }): Promise<any[]>;
    getAPYHistory(params: {
        days: string;
    }): Promise<any[]>;
    /**
     *
     * Financial product - simple earn flexible endpoints
     *
     */
    getSavingBalance(params: {
        ccy?: string;
    }): Promise<any[]>;
    savingsPurchaseRedemption(params: {
        ccy: string;
        amt: numberInString;
        side: 'purchase' | 'redempt';
        rate: numberInString;
    }): Promise<any[]>;
    setLendingRate(params: {
        ccy: string;
        rate: numberInString;
    }): Promise<any[]>;
    getLendingHistory(params?: PaginatedSymbolRequest): Promise<any[]>;
    getPublicBorrowInfo(params: {
        ccy?: string;
    }): Promise<any[]>;
    getPublicBorrowHistory(params?: PaginatedSymbolRequest): Promise<any[]>;
    /**
     *
     * Financial product - simple earn fixed endpoints
     *
     */
    getLendingOffers(params?: {
        ccy?: string;
        term?: string;
    }): Promise<any[]>;
    getLendingAPYHistory(params: {
        ccy: string;
        term: string;
    }): Promise<any[]>;
    getLendingVolume(params: {
        ccy: string;
        term: string;
    }): Promise<any[]>;
    placeLendingOrder(params: LendingOrder): Promise<any[]>;
    amendLendingOrder(params: LendingOrder): Promise<any[]>;
    getLendingOrders(params: GetLendingOrderListRequest): Promise<any[]>;
    getLendingSubOrders(params: GetLendingSubOrderListRequest): Promise<any[]>;
    /**
     *
     * Financial product - Flexible loan endpoints
     *
     */
    getBorrowableCurrencies(): Promise<{
        borrowCcy: string;
    }[]>;
    getCollateralAssets(params?: {
        ccy?: string;
    }): Promise<CollateralAssetsResponse[]>;
    getMaxLoanAmount(params: MaxLoanRequest): Promise<MaxLoanResponse[]>;
    adjustCollateral(params: AdjustCollateralRequest): Promise<[]>;
    getLoanInfo(): Promise<LoanInfo[]>;
    getLoanHistory(params?: LoanHistoryRequest): Promise<LoanHistoryItem[]>;
    getAccruedInterest(params?: AccruedInterestRequest): Promise<AccruedInterestItem[]>;
    /**
     *
     * Affiliate endpoints
     *
     */
    getInviteeDetail(params: {
        uid: string;
    }): Promise<any[]>;
    getAffiliateRebateInfo(params: {
        apiKey: string;
    }): Promise<any[]>;
    /**
     *
     * Status endpoints (public)
     *
     */
    getSystemStatus(params: {
        state?: 'scheduled' | 'ongoing' | 'pre_open' | 'completed' | 'canceled';
    }): Promise<any[]>;
    /**
     *
     * Announcement endpoints
     *
     */
    getAnnouncements(params?: {
        annType?: string;
        page?: string;
    }): Promise<{
        totalPage: string;
        details: Announcement[];
    }[]>;
    getAnnouncementTypes(): Promise<{
        annType: string;
        annTypeDesc: string;
    }[]>;
    /**
     *
     * Broker endpoints (private)
     *
     */
    createSubAccount(params: {
        subAcct: string;
        label?: string;
        clientIP?: string;
        mainAcct: string;
    }): Promise<any[]>;
    deleteSubAccount(params: {
        subAcct: string;
    }): Promise<any[]>;
    createSubAccountAPIKey(params: {
        subAcct: string;
        label: string;
        passphrase: string;
        ip?: string;
        perm?: string;
    }): Promise<any[]>;
}
