{"version":3,"file":"index.mjs","names":["localVarQueryParameter: Record<string, unknown>","localVarBodyParameter: Record<string, unknown>","_timeUnit: TimeUnit | undefined","localVarQueryParameter: Record<string, unknown>","localVarBodyParameter: Record<string, unknown>","_timeUnit: TimeUnit | undefined","localVarQueryParameter: Record<string, unknown>","localVarBodyParameter: Record<string, unknown>","_timeUnit: TimeUnit | undefined","localVarQueryParameter: Record<string, unknown>","localVarBodyParameter: Record<string, unknown>","_timeUnit: TimeUnit | undefined","DERIVATIVES_TRADING_PORTFOLIO_MARGIN_REST_API_PROD_URL","DERIVATIVES_TRADING_PORTFOLIO_MARGIN_WS_STREAMS_PROD_URL"],"sources":["../package.json","../src/rest-api/modules/account-api.ts","../src/rest-api/modules/market-data-api.ts","../src/rest-api/modules/trade-api.ts","../src/rest-api/modules/user-data-streams-api.ts","../src/rest-api/rest-api.ts","../src/rest-api/index.ts","../src/websocket-streams/websocket-streams-connection.ts","../src/websocket-streams/websocket-streams.ts","../src/websocket-streams/index.ts","../src/derivatives-trading-portfolio-margin.ts"],"sourcesContent":["{\n    \"name\": \"@binance/derivatives-trading-portfolio-margin\",\n    \"description\": \"Official Binance Derivatives Trading (COIN-M Futures) Connector - A lightweight library that provides a convenient interface to Binance's COINN-M Futures REST API, WebSocket API and WebSocket Streams.\",\n    \"version\": \"14.0.2\",\n    \"main\": \"./dist/index.js\",\n    \"module\": \"./dist/index.mjs\",\n    \"types\": \"./dist/index.d.ts\",\n    \"exports\": {\n        \".\": {\n            \"require\": \"./dist/index.js\",\n            \"import\": \"./dist/index.mjs\"\n        }\n    },\n    \"scripts\": {\n        \"prepublishOnly\": \"npm run build\",\n        \"build\": \"npm run clean && tsdown\",\n        \"typecheck\": \"tsc --noEmit\",\n        \"clean\": \"rm -rf dist\",\n        \"test\": \"npx jest --maxWorkers=4 --bail\",\n        \"test:watch\": \"npx jest --watch\",\n        \"format\": \"npx prettier --ignore-path .prettierignore --write .\",\n        \"lint\": \"npx eslint '**/*.ts' --fix\"\n    },\n    \"keywords\": [\n        \"Binance\",\n        \"API\",\n        \"Derivatives\",\n        \"Futures\",\n        \"Coin-M\",\n        \"Connector\",\n        \"REST\",\n        \"WebSocket\",\n        \"Trading\"\n    ],\n    \"author\": \"Binance\",\n    \"license\": \"MIT\",\n    \"files\": [\n        \"dist\"\n    ],\n    \"devDependencies\": {\n        \"@types/jest\": \"^29.5.4\",\n        \"@types/node\": \"^20.17.24\",\n        \"eslint\": \"8.57.0\",\n        \"jest\": \"^29.6.4\",\n        \"json-with-bigint\": \"^3.4.4\",\n        \"prettier\": \"^3.3.3\",\n        \"ts-jest\": \"^29.1.1\",\n        \"ts-node\": \"^10.9.1\",\n        \"tsdown\": \"^0.16.5\",\n        \"typescript\": \"^5.7.2\",\n        \"typescript-eslint\": \"^8.24.0\"\n    },\n    \"dependencies\": {\n        \"@binance/common\": \"2.3.14\",\n        \"@types/ws\": \"^8.5.5\",\n        \"axios\": \"^1.7.4\",\n        \"ws\": \"^8.17.1\"\n    }\n}\n","/**\n * Binance Derivatives Trading Portfolio Margin REST API\n *\n * OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin REST API\n *\n * The version of the OpenAPI document: 1.0.0\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport {\n    ConfigurationRestAPI,\n    TimeUnit,\n    RestApiResponse,\n    assertParamExists,\n    sendRequest,\n    type RequestArgs,\n} from '@binance/common';\nimport type {\n    AccountBalanceResponse,\n    AccountInformationResponse,\n    BnbTransferResponse,\n    ChangeAutoRepayFuturesStatusResponse,\n    ChangeCmInitialLeverageResponse,\n    ChangeCmPositionModeResponse,\n    ChangeUmInitialLeverageResponse,\n    ChangeUmPositionModeResponse,\n    CmNotionalAndLeverageBracketsResponse,\n    FundAutoCollectionResponse,\n    FundCollectionByAssetResponse,\n    GetAutoRepayFuturesStatusResponse,\n    GetCmAccountDetailResponse,\n    GetCmCurrentPositionModeResponse,\n    GetCmIncomeHistoryResponse,\n    GetDownloadIdForUmFuturesOrderHistoryResponse,\n    GetDownloadIdForUmFuturesTradeHistoryResponse,\n    GetDownloadIdForUmFuturesTransactionHistoryResponse,\n    GetMarginBorrowLoanInterestHistoryResponse,\n    GetUmAccountDetailResponse,\n    GetUmAccountDetailV2Response,\n    GetUmCurrentPositionModeResponse,\n    GetUmFuturesOrderDownloadLinkByIdResponse,\n    GetUmFuturesTradeDownloadLinkByIdResponse,\n    GetUmFuturesTransactionDownloadLinkByIdResponse,\n    GetUmIncomeHistoryResponse,\n    GetUserCommissionRateForCmResponse,\n    GetUserCommissionRateForUmResponse,\n    MarginMaxBorrowResponse,\n    PortfolioMarginUmTradingQuantitativeRulesIndicatorsResponse,\n    QueryCmPositionInformationResponse,\n    QueryMarginLoanRecordResponse,\n    QueryMarginMaxWithdrawResponse,\n    QueryMarginRepayRecordResponse,\n    QueryPortfolioMarginNegativeBalanceInterestHistoryResponse,\n    QueryUmPositionInformationResponse,\n    QueryUserNegativeBalanceAutoExchangeRecordResponse,\n    QueryUserRateLimitResponse,\n    RepayFuturesNegativeBalanceResponse,\n    UmFuturesAccountConfigurationResponse,\n    UmFuturesSymbolConfigurationResponse,\n    UmNotionalAndLeverageBracketsResponse,\n} from '../types';\n\n/**\n * AccountApi - axios parameter creator\n */\nconst AccountApiAxiosParamCreator = function (configuration: ConfigurationRestAPI) {\n    return {\n        /**\n         * Query account balance\n         *\n         * Weight: 20\n         *\n         * @summary Account Balance(USER_DATA)\n         * @param {string} [asset]\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        accountBalance: async (\n            asset?: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (asset !== undefined && asset !== null) {\n                localVarQueryParameter['asset'] = asset;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/balance',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query account information\n         *\n         * Weight: 20\n         *\n         * @summary Account Information(USER_DATA)\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        accountInformation: async (recvWindow?: number | bigint): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/account',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Transfer BNB in and out of UM\n         *\n         * The endpoint can only be called 10 times per 10 minutes in a rolling manner\n         *\n         * Weight: 750\n         *\n         * @summary BNB transfer (TRADE)\n         * @param {number} amount\n         * @param {string} transferSide \"TO_UM\",\"FROM_UM\"\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        bnbTransfer: async (\n            amount: number,\n            transferSide: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'amount' is not null or undefined\n            assertParamExists('bnbTransfer', 'amount', amount);\n            // verify required parameter 'transferSide' is not null or undefined\n            assertParamExists('bnbTransfer', 'transferSide', transferSide);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (amount !== undefined && amount !== null) {\n                localVarQueryParameter['amount'] = amount;\n            }\n            if (transferSide !== undefined && transferSide !== null) {\n                localVarQueryParameter['transferSide'] = transferSide;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/bnb-transfer',\n                method: 'POST',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Change Auto-repay-futures Status\n         *\n         * Weight: 750\n         *\n         * @summary Change Auto-repay-futures Status(TRADE)\n         * @param {string} autoRepay Default: `true`; `false` for turn off the auto-repay futures negative balance function\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        changeAutoRepayFuturesStatus: async (\n            autoRepay: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'autoRepay' is not null or undefined\n            assertParamExists('changeAutoRepayFuturesStatus', 'autoRepay', autoRepay);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (autoRepay !== undefined && autoRepay !== null) {\n                localVarQueryParameter['autoRepay'] = autoRepay;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/repay-futures-switch',\n                method: 'POST',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Change user's initial leverage of specific symbol in CM.\n         *\n         * Weight: 1\n         *\n         * @summary Change CM Initial Leverage (TRADE)\n         * @param {string} symbol\n         * @param {number | bigint} leverage target initial leverage: int from 1 to 125\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        changeCmInitialLeverage: async (\n            symbol: string,\n            leverage: number | bigint,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('changeCmInitialLeverage', 'symbol', symbol);\n            // verify required parameter 'leverage' is not null or undefined\n            assertParamExists('changeCmInitialLeverage', 'leverage', leverage);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (leverage !== undefined && leverage !== null) {\n                localVarQueryParameter['leverage'] = leverage;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/leverage',\n                method: 'POST',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Change user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol in CM\n         *\n         * Weight: 1\n         *\n         * @summary Change CM Position Mode(TRADE)\n         * @param {string} dualSidePosition \"true\": Hedge Mode; \"false\": One-way Mode\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        changeCmPositionMode: async (\n            dualSidePosition: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'dualSidePosition' is not null or undefined\n            assertParamExists('changeCmPositionMode', 'dualSidePosition', dualSidePosition);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (dualSidePosition !== undefined && dualSidePosition !== null) {\n                localVarQueryParameter['dualSidePosition'] = dualSidePosition;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/positionSide/dual',\n                method: 'POST',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Change user's initial leverage of specific symbol in UM.\n         *\n         * Weight: 1\n         *\n         * @summary Change UM Initial Leverage(TRADE)\n         * @param {string} symbol\n         * @param {number | bigint} leverage target initial leverage: int from 1 to 125\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        changeUmInitialLeverage: async (\n            symbol: string,\n            leverage: number | bigint,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('changeUmInitialLeverage', 'symbol', symbol);\n            // verify required parameter 'leverage' is not null or undefined\n            assertParamExists('changeUmInitialLeverage', 'leverage', leverage);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (leverage !== undefined && leverage !== null) {\n                localVarQueryParameter['leverage'] = leverage;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/leverage',\n                method: 'POST',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Change user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol in UM\n         *\n         * Weight: 1\n         *\n         * @summary Change UM Position Mode(TRADE)\n         * @param {string} dualSidePosition \"true\": Hedge Mode; \"false\": One-way Mode\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        changeUmPositionMode: async (\n            dualSidePosition: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'dualSidePosition' is not null or undefined\n            assertParamExists('changeUmPositionMode', 'dualSidePosition', dualSidePosition);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (dualSidePosition !== undefined && dualSidePosition !== null) {\n                localVarQueryParameter['dualSidePosition'] = dualSidePosition;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/positionSide/dual',\n                method: 'POST',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query CM notional and leverage brackets\n         *\n         * Weight: 1\n         *\n         * @summary CM Notional and Leverage Brackets(USER_DATA)\n         * @param {string} [symbol]\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        cmNotionalAndLeverageBrackets: async (\n            symbol?: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/leverageBracket',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Fund collection for Portfolio Margin\n         *\n         * The BNB would not be collected from UM-PM account to the Portfolio Margin account.\n         * You can only use this function 500 times per hour in a rolling manner.\n         *\n         * Weight: 750\n         *\n         * @summary Fund Auto-collection(TRADE)\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        fundAutoCollection: async (recvWindow?: number | bigint): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/auto-collection',\n                method: 'POST',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Transfers specific asset from Futures Account to Margin account\n         *\n         * The BNB transfer is not be supported\n         *\n         * Weight: 30\n         *\n         * @summary Fund Collection by Asset(TRADE)\n         * @param {string} asset\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        fundCollectionByAsset: async (\n            asset: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'asset' is not null or undefined\n            assertParamExists('fundCollectionByAsset', 'asset', asset);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (asset !== undefined && asset !== null) {\n                localVarQueryParameter['asset'] = asset;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/asset-collection',\n                method: 'POST',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query Auto-repay-futures Status\n         *\n         * Weight: 30\n         *\n         * @summary Get Auto-repay-futures Status(USER_DATA)\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getAutoRepayFuturesStatus: async (recvWindow?: number | bigint): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/repay-futures-switch',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get current CM account asset and position information.\n         *\n         * Weight: 5\n         *\n         * @summary Get CM Account Detail(USER_DATA)\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getCmAccountDetail: async (recvWindow?: number | bigint): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/account',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol in CM\n         *\n         * Weight: 30\n         *\n         * @summary Get CM Current Position Mode(USER_DATA)\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getCmCurrentPositionMode: async (recvWindow?: number | bigint): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/positionSide/dual',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get CM Income History\n         *\n         *\n         * If `incomeType` is not sent, all kinds of flow will be returned\n         * \"trandId\" is unique in the same \"incomeType\" for a user\n         * The interval between `startTime` and `endTime` can not exceed 200 days:\n         * If `startTime` and `endTime` are not sent, the last 200 days will be returned\n         *\n         * Weight: 30\n         *\n         * @summary Get CM Income History(USER_DATA)\n         * @param {string} [symbol]\n         * @param {string} [incomeType] TRANSFER, WELCOME_BONUS, REALIZED_PNL, FUNDING_FEE, COMMISSION, INSURANCE_CLEAR, REFERRAL_KICKBACK, COMMISSION_REBATE, API_REBATE, CONTEST_REWARD, CROSS_COLLATERAL_TRANSFER, OPTIONS_PREMIUM_FEE, OPTIONS_SETTLE_PROFIT, INTERNAL_TRANSFER, AUTO_EXCHANGE, DELIVERED_SETTELMENT, COIN_SWAP_DEPOSIT, COIN_SWAP_WITHDRAW, POSITION_LIMIT_INCREASE_FEE\n         * @param {number | bigint} [startTime] Timestamp in ms to get funding from INCLUSIVE.\n         * @param {number | bigint} [endTime] Timestamp in ms to get funding until INCLUSIVE.\n         * @param {number | bigint} [page]\n         * @param {number | bigint} [limit] Default 100; max 1000\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getCmIncomeHistory: async (\n            symbol?: string,\n            incomeType?: string,\n            startTime?: number | bigint,\n            endTime?: number | bigint,\n            page?: number | bigint,\n            limit?: number | bigint,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (incomeType !== undefined && incomeType !== null) {\n                localVarQueryParameter['incomeType'] = incomeType;\n            }\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n            if (page !== undefined && page !== null) {\n                localVarQueryParameter['page'] = page;\n            }\n            if (limit !== undefined && limit !== null) {\n                localVarQueryParameter['limit'] = limit;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/income',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get download id for UM futures order history\n         *\n         * Request Limitation is 10 times per month, shared by front end download page and rest api\n         * The time between `startTime` and `endTime` can not be longer than 1 year\n         *\n         * Weight: 1500\n         *\n         * @summary Get Download Id For UM Futures Order History (USER_DATA)\n         * @param {number | bigint} startTime\n         * @param {number | bigint} endTime\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getDownloadIdForUmFuturesOrderHistory: async (\n            startTime: number | bigint,\n            endTime: number | bigint,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'startTime' is not null or undefined\n            assertParamExists('getDownloadIdForUmFuturesOrderHistory', 'startTime', startTime);\n            // verify required parameter 'endTime' is not null or undefined\n            assertParamExists('getDownloadIdForUmFuturesOrderHistory', 'endTime', endTime);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/order/asyn',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get download id for UM futures trade history\n         *\n         * Request Limitation is 5 times per month, shared by front end download page and rest api\n         * The time between `startTime` and `endTime` can not be longer than 1 year\n         *\n         * Weight: 1500\n         *\n         * @summary Get Download Id For UM Futures Trade History (USER_DATA)\n         * @param {number | bigint} startTime\n         * @param {number | bigint} endTime\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getDownloadIdForUmFuturesTradeHistory: async (\n            startTime: number | bigint,\n            endTime: number | bigint,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'startTime' is not null or undefined\n            assertParamExists('getDownloadIdForUmFuturesTradeHistory', 'startTime', startTime);\n            // verify required parameter 'endTime' is not null or undefined\n            assertParamExists('getDownloadIdForUmFuturesTradeHistory', 'endTime', endTime);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/trade/asyn',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get download id for UM futures transaction history\n         *\n         * Request Limitation is 5 times per month, shared by front end download page and rest api\n         * The time between `startTime` and `endTime` can not be longer than 1 year\n         *\n         * Weight: 1500\n         *\n         * @summary Get Download Id For UM Futures Transaction History (USER_DATA)\n         * @param {number | bigint} startTime\n         * @param {number | bigint} endTime\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getDownloadIdForUmFuturesTransactionHistory: async (\n            startTime: number | bigint,\n            endTime: number | bigint,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'startTime' is not null or undefined\n            assertParamExists(\n                'getDownloadIdForUmFuturesTransactionHistory',\n                'startTime',\n                startTime\n            );\n            // verify required parameter 'endTime' is not null or undefined\n            assertParamExists('getDownloadIdForUmFuturesTransactionHistory', 'endTime', endTime);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/income/asyn',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get Margin Borrow/Loan Interest History\n         *\n         *\n         * Response in descending order\n         * The max interval between startTime and endTime is 30 days. It is a MUST to ensure data correctness.\n         * If `startTime` and `endTime` not sent, return records of the last 7 days by default\n         * If `startTime` is sent and `endTime` is not sent, the records from `startTime` to the present will be returned; if `startTime` is more than 30 days ago, the records of the past 30 days will be returned.\n         * If `startTime` is not sent and `endTime` is sent, the records of the 7 days before `endTime` is returned.\n         * Type in response has 5 enums:\n         * `PERIODIC` interest charged per hour\n         * `ON_BORROW` first interest charged on borrow\n         * `PERIODIC_CONVERTED` interest charged per hour converted into BNB\n         * `ON_BORROW_CONVERTED` first interest charged on borrow converted into BNB\n         * `PORTFOLIO` Portfolio Margin negative balance daily interest\n         *\n         * Weight: 1\n         *\n         * @summary Get Margin Borrow/Loan Interest History(USER_DATA)\n         * @param {string} [asset]\n         * @param {number | bigint} [startTime] Timestamp in ms to get funding from INCLUSIVE.\n         * @param {number | bigint} [endTime] Timestamp in ms to get funding until INCLUSIVE.\n         * @param {number | bigint} [current] Currently querying page. Start from 1. Default:1\n         * @param {number | bigint} [size] Default:10 Max:100\n         * @param {string} [archived] Default: `false`. Set to `true` for archived data from 6 months ago\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getMarginBorrowLoanInterestHistory: async (\n            asset?: string,\n            startTime?: number | bigint,\n            endTime?: number | bigint,\n            current?: number | bigint,\n            size?: number | bigint,\n            archived?: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (asset !== undefined && asset !== null) {\n                localVarQueryParameter['asset'] = asset;\n            }\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n            if (current !== undefined && current !== null) {\n                localVarQueryParameter['current'] = current;\n            }\n            if (size !== undefined && size !== null) {\n                localVarQueryParameter['size'] = size;\n            }\n            if (archived !== undefined && archived !== null) {\n                localVarQueryParameter['archived'] = archived;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/margin/marginInterestHistory',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get current UM account asset and position information.\n         *\n         * Weight: 5\n         *\n         * @summary Get UM Account Detail(USER_DATA)\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getUmAccountDetail: async (recvWindow?: number | bigint): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/account',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get current UM account asset and position information.\n         *\n         * Weight: 5\n         *\n         * @summary Get UM Account Detail V2(USER_DATA)\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getUmAccountDetailV2: async (recvWindow?: number | bigint): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v2/um/account',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol in UM\n         *\n         * Weight: 30\n         *\n         * @summary Get UM Current Position Mode(USER_DATA)\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getUmCurrentPositionMode: async (recvWindow?: number | bigint): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/positionSide/dual',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get UM futures order download link by Id\n         *\n         * Download link expiration: 7 days\n         *\n         * Weight: 10\n         *\n         * @summary Get UM Futures Order Download Link by Id(USER_DATA)\n         * @param {string} downloadId get by download id api\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getUmFuturesOrderDownloadLinkById: async (\n            downloadId: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'downloadId' is not null or undefined\n            assertParamExists('getUmFuturesOrderDownloadLinkById', 'downloadId', downloadId);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (downloadId !== undefined && downloadId !== null) {\n                localVarQueryParameter['downloadId'] = downloadId;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/order/asyn/id',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get UM futures trade download link by Id\n         *\n         * Download link expiration: 7 days\n         *\n         * Weight: 10\n         *\n         * @summary Get UM Futures Trade Download Link by Id(USER_DATA)\n         * @param {string} downloadId get by download id api\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getUmFuturesTradeDownloadLinkById: async (\n            downloadId: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'downloadId' is not null or undefined\n            assertParamExists('getUmFuturesTradeDownloadLinkById', 'downloadId', downloadId);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (downloadId !== undefined && downloadId !== null) {\n                localVarQueryParameter['downloadId'] = downloadId;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/trade/asyn/id',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get UM futures Transaction download link by Id\n         *\n         * Download link expiration: 7 days\n         *\n         * Weight: 10\n         *\n         * @summary Get UM Futures Transaction Download Link by Id(USER_DATA)\n         * @param {string} downloadId get by download id api\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getUmFuturesTransactionDownloadLinkById: async (\n            downloadId: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'downloadId' is not null or undefined\n            assertParamExists('getUmFuturesTransactionDownloadLinkById', 'downloadId', downloadId);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (downloadId !== undefined && downloadId !== null) {\n                localVarQueryParameter['downloadId'] = downloadId;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/income/asyn/id',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get UM Income History\n         *\n         * If neither `startTime` nor `endTime` is sent, the recent 7-day data will be returned.\n         * If `incomeType` is not sent, all kinds of flow will be returned\n         * \"trandId\" is unique in the same incomeType for a user\n         * Income history only contains data for the last three months\n         *\n         * Weight: 30\n         *\n         * @summary Get UM Income History(USER_DATA)\n         * @param {string} [symbol]\n         * @param {string} [incomeType] TRANSFER, WELCOME_BONUS, REALIZED_PNL, FUNDING_FEE, COMMISSION, INSURANCE_CLEAR, REFERRAL_KICKBACK, COMMISSION_REBATE, API_REBATE, CONTEST_REWARD, CROSS_COLLATERAL_TRANSFER, OPTIONS_PREMIUM_FEE, OPTIONS_SETTLE_PROFIT, INTERNAL_TRANSFER, AUTO_EXCHANGE, DELIVERED_SETTELMENT, COIN_SWAP_DEPOSIT, COIN_SWAP_WITHDRAW, POSITION_LIMIT_INCREASE_FEE\n         * @param {number | bigint} [startTime] Timestamp in ms to get funding from INCLUSIVE.\n         * @param {number | bigint} [endTime] Timestamp in ms to get funding until INCLUSIVE.\n         * @param {number | bigint} [page]\n         * @param {number | bigint} [limit] Default 100; max 1000\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getUmIncomeHistory: async (\n            symbol?: string,\n            incomeType?: string,\n            startTime?: number | bigint,\n            endTime?: number | bigint,\n            page?: number | bigint,\n            limit?: number | bigint,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (incomeType !== undefined && incomeType !== null) {\n                localVarQueryParameter['incomeType'] = incomeType;\n            }\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n            if (page !== undefined && page !== null) {\n                localVarQueryParameter['page'] = page;\n            }\n            if (limit !== undefined && limit !== null) {\n                localVarQueryParameter['limit'] = limit;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/income',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get User Commission Rate for CM\n         *\n         * Weight: 20\n         *\n         * @summary Get User Commission Rate for CM(USER_DATA)\n         * @param {string} symbol\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getUserCommissionRateForCm: async (\n            symbol: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('getUserCommissionRateForCm', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/commissionRate',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get User Commission Rate for UM\n         *\n         * Weight: 20\n         *\n         * @summary Get User Commission Rate for UM(USER_DATA)\n         * @param {string} symbol\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getUserCommissionRateForUm: async (\n            symbol: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('getUserCommissionRateForUm', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/commissionRate',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query margin max borrow\n         *\n         * Weight: 5\n         *\n         * @summary Margin Max Borrow(USER_DATA)\n         * @param {string} asset\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        marginMaxBorrow: async (\n            asset: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'asset' is not null or undefined\n            assertParamExists('marginMaxBorrow', 'asset', asset);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (asset !== undefined && asset !== null) {\n                localVarQueryParameter['asset'] = asset;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/margin/maxBorrowable',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Portfolio Margin UM Trading Quantitative Rules Indicators\n         *\n         * Weight: 1 for a single symbol\n         * 10 when the symbol parameter is omitted\n         *\n         * @summary Portfolio Margin UM Trading Quantitative Rules Indicators(USER_DATA)\n         * @param {string} [symbol]\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        portfolioMarginUmTradingQuantitativeRulesIndicators: async (\n            symbol?: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/apiTradingStatus',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get current CM position information.\n         *\n         * If neither `marginAsset` nor `pair` is sent, positions of all symbols with `TRADING` status will be returned.\n         * for One-way Mode user, the response will only show the \"BOTH\" positions\n         * for Hedge Mode user, the response will show \"LONG\", and \"SHORT\" positions.\n         * Please use with user data stream `ACCOUNT_UPDATE` to meet your timeliness and accuracy needs.\n         *\n         * Weight: 1\n         *\n         * @summary Query CM Position Information(USER_DATA)\n         * @param {string} [marginAsset]\n         * @param {string} [pair]\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryCmPositionInformation: async (\n            marginAsset?: string,\n            pair?: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (marginAsset !== undefined && marginAsset !== null) {\n                localVarQueryParameter['marginAsset'] = marginAsset;\n            }\n            if (pair !== undefined && pair !== null) {\n                localVarQueryParameter['pair'] = pair;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/positionRisk',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query margin loan record\n         *\n         * txId or startTime must be sent. txId takes precedence.\n         * Response in descending order\n         * The max interval between `startTime` and `endTime` is 30 days.\n         * If `startTime` and `endTime` not sent, return records of the last 7 days by default\n         * Set `archived` to `true` to query data from 6 months ago\n         *\n         * Weight: 10\n         *\n         * @summary Query Margin Loan Record(USER_DATA)\n         * @param {string} asset\n         * @param {number | bigint} [txId] the `tranId` in `POST/papi/v1/marginLoan`\n         * @param {number | bigint} [startTime] Timestamp in ms to get funding from INCLUSIVE.\n         * @param {number | bigint} [endTime] Timestamp in ms to get funding until INCLUSIVE.\n         * @param {number | bigint} [current] Currently querying page. Start from 1. Default:1\n         * @param {number | bigint} [size] Default:10 Max:100\n         * @param {string} [archived] Default: `false`. Set to `true` for archived data from 6 months ago\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryMarginLoanRecord: async (\n            asset: string,\n            txId?: number | bigint,\n            startTime?: number | bigint,\n            endTime?: number | bigint,\n            current?: number | bigint,\n            size?: number | bigint,\n            archived?: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'asset' is not null or undefined\n            assertParamExists('queryMarginLoanRecord', 'asset', asset);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (asset !== undefined && asset !== null) {\n                localVarQueryParameter['asset'] = asset;\n            }\n            if (txId !== undefined && txId !== null) {\n                localVarQueryParameter['txId'] = txId;\n            }\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n            if (current !== undefined && current !== null) {\n                localVarQueryParameter['current'] = current;\n            }\n            if (size !== undefined && size !== null) {\n                localVarQueryParameter['size'] = size;\n            }\n            if (archived !== undefined && archived !== null) {\n                localVarQueryParameter['archived'] = archived;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/margin/marginLoan',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query Margin Max Withdraw\n         *\n         * Weight: 5\n         *\n         * @summary Query Margin Max Withdraw(USER_DATA)\n         * @param {string} asset\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryMarginMaxWithdraw: async (\n            asset: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'asset' is not null or undefined\n            assertParamExists('queryMarginMaxWithdraw', 'asset', asset);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (asset !== undefined && asset !== null) {\n                localVarQueryParameter['asset'] = asset;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/margin/maxWithdraw',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query margin repay record.\n         *\n         * txId or startTime must be sent. txId takes precedence.\n         * Response in descending order\n         * The max interval between `startTime` and `endTime` is 30 days.\n         * If `startTime` and `endTime` not sent, return records of the last 7 days by default\n         * Set `archived` to `true` to query data from 6 months ago\n         *\n         * Weight: 10\n         *\n         * @summary Query Margin repay Record(USER_DATA)\n         * @param {string} asset\n         * @param {number | bigint} [txId] the `tranId` in `POST/papi/v1/marginLoan`\n         * @param {number | bigint} [startTime] Timestamp in ms to get funding from INCLUSIVE.\n         * @param {number | bigint} [endTime] Timestamp in ms to get funding until INCLUSIVE.\n         * @param {number | bigint} [current] Currently querying page. Start from 1. Default:1\n         * @param {number | bigint} [size] Default:10 Max:100\n         * @param {string} [archived] Default: `false`. Set to `true` for archived data from 6 months ago\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryMarginRepayRecord: async (\n            asset: string,\n            txId?: number | bigint,\n            startTime?: number | bigint,\n            endTime?: number | bigint,\n            current?: number | bigint,\n            size?: number | bigint,\n            archived?: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'asset' is not null or undefined\n            assertParamExists('queryMarginRepayRecord', 'asset', asset);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (asset !== undefined && asset !== null) {\n                localVarQueryParameter['asset'] = asset;\n            }\n            if (txId !== undefined && txId !== null) {\n                localVarQueryParameter['txId'] = txId;\n            }\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n            if (current !== undefined && current !== null) {\n                localVarQueryParameter['current'] = current;\n            }\n            if (size !== undefined && size !== null) {\n                localVarQueryParameter['size'] = size;\n            }\n            if (archived !== undefined && archived !== null) {\n                localVarQueryParameter['archived'] = archived;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/margin/repayLoan',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query interest history of negative balance for portfolio margin.\n         *\n         * Response in descending order\n         * The max interval between startTime and endTime is 30 days. It is a MUST to ensure data correctness.\n         * If `startTime` and `endTime` not sent, return records of the last 7 days by default\n         * If `startTime` is sent and `endTime` is not sent, the records from `startTime` to the present will be returned; if `startTime` is more than 30 days ago, the records of the past 30 days will be returned.\n         * If `startTime` is not sent and `endTime` is sent, the records of the 7 days before `endTime` is returned.\n         *\n         * Weight: 50\n         *\n         * @summary Query Portfolio Margin Negative Balance Interest History(USER_DATA)\n         * @param {string} [asset]\n         * @param {number | bigint} [startTime] Timestamp in ms to get funding from INCLUSIVE.\n         * @param {number | bigint} [endTime] Timestamp in ms to get funding until INCLUSIVE.\n         * @param {number | bigint} [size] Default:10 Max:100\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryPortfolioMarginNegativeBalanceInterestHistory: async (\n            asset?: string,\n            startTime?: number | bigint,\n            endTime?: number | bigint,\n            size?: number | bigint,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (asset !== undefined && asset !== null) {\n                localVarQueryParameter['asset'] = asset;\n            }\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n            if (size !== undefined && size !== null) {\n                localVarQueryParameter['size'] = size;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/portfolio/interest-history',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get current UM position information.\n         *\n         * Please use with user data stream `ACCOUNT_UPDATE` to meet your timeliness and accuracy needs.\n         * for One-way Mode user, the response will only show the \"BOTH\" positions\n         * for Hedge Mode user, the response will show \"LONG\", and \"SHORT\" positions.\n         *\n         * Weight: 5\n         *\n         * @summary Query UM Position Information(USER_DATA)\n         * @param {string} [symbol]\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryUmPositionInformation: async (\n            symbol?: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/positionRisk',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query user negative balance auto exchange record\n         *\n         * Response in descending order\n         * The max interval between `startTime` and `endTime` is 3 months.\n         *\n         * Weight: 100\n         *\n         * @summary Query User Negative Balance Auto Exchange Record (USER_DATA)\n         * @param {number | bigint} startTime\n         * @param {number | bigint} endTime\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryUserNegativeBalanceAutoExchangeRecord: async (\n            startTime: number | bigint,\n            endTime: number | bigint,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'startTime' is not null or undefined\n            assertParamExists('queryUserNegativeBalanceAutoExchangeRecord', 'startTime', startTime);\n            // verify required parameter 'endTime' is not null or undefined\n            assertParamExists('queryUserNegativeBalanceAutoExchangeRecord', 'endTime', endTime);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/portfolio/negative-balance-exchange-record',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query User Rate Limit\n         *\n         * Weight: 1\n         *\n         * @summary Query User Rate Limit (USER_DATA)\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryUserRateLimit: async (recvWindow?: number | bigint): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/rateLimit/order',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Repay futures Negative Balance\n         *\n         * Weight: 750\n         *\n         * @summary Repay futures Negative Balance(USER_DATA)\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        repayFuturesNegativeBalance: async (recvWindow?: number | bigint): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/repay-futures-negative-balance',\n                method: 'POST',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query UM Futures account configuration\n         *\n         * Weight: 5\n         *\n         * @summary UM Futures Account Configuration(USER_DATA)\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        umFuturesAccountConfiguration: async (\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/accountConfig',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get current UM account symbol configuration.\n         *\n         * Weight: 5\n         *\n         * @summary UM Futures Symbol Configuration(USER_DATA)\n         * @param {string} [symbol]\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        umFuturesSymbolConfiguration: async (\n            symbol?: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/symbolConfig',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query UM notional and leverage brackets\n         *\n         * Weight: 1\n         *\n         * @summary UM Notional and Leverage Brackets (USER_DATA)\n         * @param {string} [symbol]\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        umNotionalAndLeverageBrackets: async (\n            symbol?: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/leverageBracket',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n    };\n};\n\n/**\n * AccountApi - interface\n * @interface AccountApi\n */\nexport interface AccountApiInterface {\n    /**\n     * Query account balance\n     *\n     * Weight: 20\n     *\n     * @summary Account Balance(USER_DATA)\n     * @param {AccountBalanceRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    accountBalance(\n        requestParameters?: AccountBalanceRequest\n    ): Promise<RestApiResponse<AccountBalanceResponse>>;\n    /**\n     * Query account information\n     *\n     * Weight: 20\n     *\n     * @summary Account Information(USER_DATA)\n     * @param {AccountInformationRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    accountInformation(\n        requestParameters?: AccountInformationRequest\n    ): Promise<RestApiResponse<AccountInformationResponse>>;\n    /**\n     * Transfer BNB in and out of UM\n     *\n     * The endpoint can only be called 10 times per 10 minutes in a rolling manner\n     *\n     * Weight: 750\n     *\n     * @summary BNB transfer (TRADE)\n     * @param {BnbTransferRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    bnbTransfer(\n        requestParameters: BnbTransferRequest\n    ): Promise<RestApiResponse<BnbTransferResponse>>;\n    /**\n     * Change Auto-repay-futures Status\n     *\n     * Weight: 750\n     *\n     * @summary Change Auto-repay-futures Status(TRADE)\n     * @param {ChangeAutoRepayFuturesStatusRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    changeAutoRepayFuturesStatus(\n        requestParameters: ChangeAutoRepayFuturesStatusRequest\n    ): Promise<RestApiResponse<ChangeAutoRepayFuturesStatusResponse>>;\n    /**\n     * Change user's initial leverage of specific symbol in CM.\n     *\n     * Weight: 1\n     *\n     * @summary Change CM Initial Leverage (TRADE)\n     * @param {ChangeCmInitialLeverageRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    changeCmInitialLeverage(\n        requestParameters: ChangeCmInitialLeverageRequest\n    ): Promise<RestApiResponse<ChangeCmInitialLeverageResponse>>;\n    /**\n     * Change user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol in CM\n     *\n     * Weight: 1\n     *\n     * @summary Change CM Position Mode(TRADE)\n     * @param {ChangeCmPositionModeRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    changeCmPositionMode(\n        requestParameters: ChangeCmPositionModeRequest\n    ): Promise<RestApiResponse<ChangeCmPositionModeResponse>>;\n    /**\n     * Change user's initial leverage of specific symbol in UM.\n     *\n     * Weight: 1\n     *\n     * @summary Change UM Initial Leverage(TRADE)\n     * @param {ChangeUmInitialLeverageRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    changeUmInitialLeverage(\n        requestParameters: ChangeUmInitialLeverageRequest\n    ): Promise<RestApiResponse<ChangeUmInitialLeverageResponse>>;\n    /**\n     * Change user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol in UM\n     *\n     * Weight: 1\n     *\n     * @summary Change UM Position Mode(TRADE)\n     * @param {ChangeUmPositionModeRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    changeUmPositionMode(\n        requestParameters: ChangeUmPositionModeRequest\n    ): Promise<RestApiResponse<ChangeUmPositionModeResponse>>;\n    /**\n     * Query CM notional and leverage brackets\n     *\n     * Weight: 1\n     *\n     * @summary CM Notional and Leverage Brackets(USER_DATA)\n     * @param {CmNotionalAndLeverageBracketsRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    cmNotionalAndLeverageBrackets(\n        requestParameters?: CmNotionalAndLeverageBracketsRequest\n    ): Promise<RestApiResponse<CmNotionalAndLeverageBracketsResponse>>;\n    /**\n     * Fund collection for Portfolio Margin\n     *\n     * The BNB would not be collected from UM-PM account to the Portfolio Margin account.\n     * You can only use this function 500 times per hour in a rolling manner.\n     *\n     * Weight: 750\n     *\n     * @summary Fund Auto-collection(TRADE)\n     * @param {FundAutoCollectionRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    fundAutoCollection(\n        requestParameters?: FundAutoCollectionRequest\n    ): Promise<RestApiResponse<FundAutoCollectionResponse>>;\n    /**\n     * Transfers specific asset from Futures Account to Margin account\n     *\n     * The BNB transfer is not be supported\n     *\n     * Weight: 30\n     *\n     * @summary Fund Collection by Asset(TRADE)\n     * @param {FundCollectionByAssetRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    fundCollectionByAsset(\n        requestParameters: FundCollectionByAssetRequest\n    ): Promise<RestApiResponse<FundCollectionByAssetResponse>>;\n    /**\n     * Query Auto-repay-futures Status\n     *\n     * Weight: 30\n     *\n     * @summary Get Auto-repay-futures Status(USER_DATA)\n     * @param {GetAutoRepayFuturesStatusRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    getAutoRepayFuturesStatus(\n        requestParameters?: GetAutoRepayFuturesStatusRequest\n    ): Promise<RestApiResponse<GetAutoRepayFuturesStatusResponse>>;\n    /**\n     * Get current CM account asset and position information.\n     *\n     * Weight: 5\n     *\n     * @summary Get CM Account Detail(USER_DATA)\n     * @param {GetCmAccountDetailRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    getCmAccountDetail(\n        requestParameters?: GetCmAccountDetailRequest\n    ): Promise<RestApiResponse<GetCmAccountDetailResponse>>;\n    /**\n     * Get user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol in CM\n     *\n     * Weight: 30\n     *\n     * @summary Get CM Current Position Mode(USER_DATA)\n     * @param {GetCmCurrentPositionModeRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    getCmCurrentPositionMode(\n        requestParameters?: GetCmCurrentPositionModeRequest\n    ): Promise<RestApiResponse<GetCmCurrentPositionModeResponse>>;\n    /**\n     * Get CM Income History\n     *\n     *\n     * If `incomeType` is not sent, all kinds of flow will be returned\n     * \"trandId\" is unique in the same \"incomeType\" for a user\n     * The interval between `startTime` and `endTime` can not exceed 200 days:\n     * If `startTime` and `endTime` are not sent, the last 200 days will be returned\n     *\n     * Weight: 30\n     *\n     * @summary Get CM Income History(USER_DATA)\n     * @param {GetCmIncomeHistoryRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    getCmIncomeHistory(\n        requestParameters?: GetCmIncomeHistoryRequest\n    ): Promise<RestApiResponse<GetCmIncomeHistoryResponse>>;\n    /**\n     * Get download id for UM futures order history\n     *\n     * Request Limitation is 10 times per month, shared by front end download page and rest api\n     * The time between `startTime` and `endTime` can not be longer than 1 year\n     *\n     * Weight: 1500\n     *\n     * @summary Get Download Id For UM Futures Order History (USER_DATA)\n     * @param {GetDownloadIdForUmFuturesOrderHistoryRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    getDownloadIdForUmFuturesOrderHistory(\n        requestParameters: GetDownloadIdForUmFuturesOrderHistoryRequest\n    ): Promise<RestApiResponse<GetDownloadIdForUmFuturesOrderHistoryResponse>>;\n    /**\n     * Get download id for UM futures trade history\n     *\n     * Request Limitation is 5 times per month, shared by front end download page and rest api\n     * The time between `startTime` and `endTime` can not be longer than 1 year\n     *\n     * Weight: 1500\n     *\n     * @summary Get Download Id For UM Futures Trade History (USER_DATA)\n     * @param {GetDownloadIdForUmFuturesTradeHistoryRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    getDownloadIdForUmFuturesTradeHistory(\n        requestParameters: GetDownloadIdForUmFuturesTradeHistoryRequest\n    ): Promise<RestApiResponse<GetDownloadIdForUmFuturesTradeHistoryResponse>>;\n    /**\n     * Get download id for UM futures transaction history\n     *\n     * Request Limitation is 5 times per month, shared by front end download page and rest api\n     * The time between `startTime` and `endTime` can not be longer than 1 year\n     *\n     * Weight: 1500\n     *\n     * @summary Get Download Id For UM Futures Transaction History (USER_DATA)\n     * @param {GetDownloadIdForUmFuturesTransactionHistoryRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    getDownloadIdForUmFuturesTransactionHistory(\n        requestParameters: GetDownloadIdForUmFuturesTransactionHistoryRequest\n    ): Promise<RestApiResponse<GetDownloadIdForUmFuturesTransactionHistoryResponse>>;\n    /**\n     * Get Margin Borrow/Loan Interest History\n     *\n     *\n     * Response in descending order\n     * The max interval between startTime and endTime is 30 days. It is a MUST to ensure data correctness.\n     * If `startTime` and `endTime` not sent, return records of the last 7 days by default\n     * If `startTime` is sent and `endTime` is not sent, the records from `startTime` to the present will be returned; if `startTime` is more than 30 days ago, the records of the past 30 days will be returned.\n     * If `startTime` is not sent and `endTime` is sent, the records of the 7 days before `endTime` is returned.\n     * Type in response has 5 enums:\n     * `PERIODIC` interest charged per hour\n     * `ON_BORROW` first interest charged on borrow\n     * `PERIODIC_CONVERTED` interest charged per hour converted into BNB\n     * `ON_BORROW_CONVERTED` first interest charged on borrow converted into BNB\n     * `PORTFOLIO` Portfolio Margin negative balance daily interest\n     *\n     * Weight: 1\n     *\n     * @summary Get Margin Borrow/Loan Interest History(USER_DATA)\n     * @param {GetMarginBorrowLoanInterestHistoryRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    getMarginBorrowLoanInterestHistory(\n        requestParameters?: GetMarginBorrowLoanInterestHistoryRequest\n    ): Promise<RestApiResponse<GetMarginBorrowLoanInterestHistoryResponse>>;\n    /**\n     * Get current UM account asset and position information.\n     *\n     * Weight: 5\n     *\n     * @summary Get UM Account Detail(USER_DATA)\n     * @param {GetUmAccountDetailRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    getUmAccountDetail(\n        requestParameters?: GetUmAccountDetailRequest\n    ): Promise<RestApiResponse<GetUmAccountDetailResponse>>;\n    /**\n     * Get current UM account asset and position information.\n     *\n     * Weight: 5\n     *\n     * @summary Get UM Account Detail V2(USER_DATA)\n     * @param {GetUmAccountDetailV2Request} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    getUmAccountDetailV2(\n        requestParameters?: GetUmAccountDetailV2Request\n    ): Promise<RestApiResponse<GetUmAccountDetailV2Response>>;\n    /**\n     * Get user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol in UM\n     *\n     * Weight: 30\n     *\n     * @summary Get UM Current Position Mode(USER_DATA)\n     * @param {GetUmCurrentPositionModeRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    getUmCurrentPositionMode(\n        requestParameters?: GetUmCurrentPositionModeRequest\n    ): Promise<RestApiResponse<GetUmCurrentPositionModeResponse>>;\n    /**\n     * Get UM futures order download link by Id\n     *\n     * Download link expiration: 7 days\n     *\n     * Weight: 10\n     *\n     * @summary Get UM Futures Order Download Link by Id(USER_DATA)\n     * @param {GetUmFuturesOrderDownloadLinkByIdRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    getUmFuturesOrderDownloadLinkById(\n        requestParameters: GetUmFuturesOrderDownloadLinkByIdRequest\n    ): Promise<RestApiResponse<GetUmFuturesOrderDownloadLinkByIdResponse>>;\n    /**\n     * Get UM futures trade download link by Id\n     *\n     * Download link expiration: 7 days\n     *\n     * Weight: 10\n     *\n     * @summary Get UM Futures Trade Download Link by Id(USER_DATA)\n     * @param {GetUmFuturesTradeDownloadLinkByIdRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    getUmFuturesTradeDownloadLinkById(\n        requestParameters: GetUmFuturesTradeDownloadLinkByIdRequest\n    ): Promise<RestApiResponse<GetUmFuturesTradeDownloadLinkByIdResponse>>;\n    /**\n     * Get UM futures Transaction download link by Id\n     *\n     * Download link expiration: 7 days\n     *\n     * Weight: 10\n     *\n     * @summary Get UM Futures Transaction Download Link by Id(USER_DATA)\n     * @param {GetUmFuturesTransactionDownloadLinkByIdRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    getUmFuturesTransactionDownloadLinkById(\n        requestParameters: GetUmFuturesTransactionDownloadLinkByIdRequest\n    ): Promise<RestApiResponse<GetUmFuturesTransactionDownloadLinkByIdResponse>>;\n    /**\n     * Get UM Income History\n     *\n     * If neither `startTime` nor `endTime` is sent, the recent 7-day data will be returned.\n     * If `incomeType` is not sent, all kinds of flow will be returned\n     * \"trandId\" is unique in the same incomeType for a user\n     * Income history only contains data for the last three months\n     *\n     * Weight: 30\n     *\n     * @summary Get UM Income History(USER_DATA)\n     * @param {GetUmIncomeHistoryRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    getUmIncomeHistory(\n        requestParameters?: GetUmIncomeHistoryRequest\n    ): Promise<RestApiResponse<GetUmIncomeHistoryResponse>>;\n    /**\n     * Get User Commission Rate for CM\n     *\n     * Weight: 20\n     *\n     * @summary Get User Commission Rate for CM(USER_DATA)\n     * @param {GetUserCommissionRateForCmRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    getUserCommissionRateForCm(\n        requestParameters: GetUserCommissionRateForCmRequest\n    ): Promise<RestApiResponse<GetUserCommissionRateForCmResponse>>;\n    /**\n     * Get User Commission Rate for UM\n     *\n     * Weight: 20\n     *\n     * @summary Get User Commission Rate for UM(USER_DATA)\n     * @param {GetUserCommissionRateForUmRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    getUserCommissionRateForUm(\n        requestParameters: GetUserCommissionRateForUmRequest\n    ): Promise<RestApiResponse<GetUserCommissionRateForUmResponse>>;\n    /**\n     * Query margin max borrow\n     *\n     * Weight: 5\n     *\n     * @summary Margin Max Borrow(USER_DATA)\n     * @param {MarginMaxBorrowRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    marginMaxBorrow(\n        requestParameters: MarginMaxBorrowRequest\n    ): Promise<RestApiResponse<MarginMaxBorrowResponse>>;\n    /**\n     * Portfolio Margin UM Trading Quantitative Rules Indicators\n     *\n     * Weight: 1 for a single symbol\n     * 10 when the symbol parameter is omitted\n     *\n     * @summary Portfolio Margin UM Trading Quantitative Rules Indicators(USER_DATA)\n     * @param {PortfolioMarginUmTradingQuantitativeRulesIndicatorsRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    portfolioMarginUmTradingQuantitativeRulesIndicators(\n        requestParameters?: PortfolioMarginUmTradingQuantitativeRulesIndicatorsRequest\n    ): Promise<RestApiResponse<PortfolioMarginUmTradingQuantitativeRulesIndicatorsResponse>>;\n    /**\n     * Get current CM position information.\n     *\n     * If neither `marginAsset` nor `pair` is sent, positions of all symbols with `TRADING` status will be returned.\n     * for One-way Mode user, the response will only show the \"BOTH\" positions\n     * for Hedge Mode user, the response will show \"LONG\", and \"SHORT\" positions.\n     * Please use with user data stream `ACCOUNT_UPDATE` to meet your timeliness and accuracy needs.\n     *\n     * Weight: 1\n     *\n     * @summary Query CM Position Information(USER_DATA)\n     * @param {QueryCmPositionInformationRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    queryCmPositionInformation(\n        requestParameters?: QueryCmPositionInformationRequest\n    ): Promise<RestApiResponse<QueryCmPositionInformationResponse>>;\n    /**\n     * Query margin loan record\n     *\n     * txId or startTime must be sent. txId takes precedence.\n     * Response in descending order\n     * The max interval between `startTime` and `endTime` is 30 days.\n     * If `startTime` and `endTime` not sent, return records of the last 7 days by default\n     * Set `archived` to `true` to query data from 6 months ago\n     *\n     * Weight: 10\n     *\n     * @summary Query Margin Loan Record(USER_DATA)\n     * @param {QueryMarginLoanRecordRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    queryMarginLoanRecord(\n        requestParameters: QueryMarginLoanRecordRequest\n    ): Promise<RestApiResponse<QueryMarginLoanRecordResponse>>;\n    /**\n     * Query Margin Max Withdraw\n     *\n     * Weight: 5\n     *\n     * @summary Query Margin Max Withdraw(USER_DATA)\n     * @param {QueryMarginMaxWithdrawRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    queryMarginMaxWithdraw(\n        requestParameters: QueryMarginMaxWithdrawRequest\n    ): Promise<RestApiResponse<QueryMarginMaxWithdrawResponse>>;\n    /**\n     * Query margin repay record.\n     *\n     * txId or startTime must be sent. txId takes precedence.\n     * Response in descending order\n     * The max interval between `startTime` and `endTime` is 30 days.\n     * If `startTime` and `endTime` not sent, return records of the last 7 days by default\n     * Set `archived` to `true` to query data from 6 months ago\n     *\n     * Weight: 10\n     *\n     * @summary Query Margin repay Record(USER_DATA)\n     * @param {QueryMarginRepayRecordRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    queryMarginRepayRecord(\n        requestParameters: QueryMarginRepayRecordRequest\n    ): Promise<RestApiResponse<QueryMarginRepayRecordResponse>>;\n    /**\n     * Query interest history of negative balance for portfolio margin.\n     *\n     * Response in descending order\n     * The max interval between startTime and endTime is 30 days. It is a MUST to ensure data correctness.\n     * If `startTime` and `endTime` not sent, return records of the last 7 days by default\n     * If `startTime` is sent and `endTime` is not sent, the records from `startTime` to the present will be returned; if `startTime` is more than 30 days ago, the records of the past 30 days will be returned.\n     * If `startTime` is not sent and `endTime` is sent, the records of the 7 days before `endTime` is returned.\n     *\n     * Weight: 50\n     *\n     * @summary Query Portfolio Margin Negative Balance Interest History(USER_DATA)\n     * @param {QueryPortfolioMarginNegativeBalanceInterestHistoryRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    queryPortfolioMarginNegativeBalanceInterestHistory(\n        requestParameters?: QueryPortfolioMarginNegativeBalanceInterestHistoryRequest\n    ): Promise<RestApiResponse<QueryPortfolioMarginNegativeBalanceInterestHistoryResponse>>;\n    /**\n     * Get current UM position information.\n     *\n     * Please use with user data stream `ACCOUNT_UPDATE` to meet your timeliness and accuracy needs.\n     * for One-way Mode user, the response will only show the \"BOTH\" positions\n     * for Hedge Mode user, the response will show \"LONG\", and \"SHORT\" positions.\n     *\n     * Weight: 5\n     *\n     * @summary Query UM Position Information(USER_DATA)\n     * @param {QueryUmPositionInformationRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    queryUmPositionInformation(\n        requestParameters?: QueryUmPositionInformationRequest\n    ): Promise<RestApiResponse<QueryUmPositionInformationResponse>>;\n    /**\n     * Query user negative balance auto exchange record\n     *\n     * Response in descending order\n     * The max interval between `startTime` and `endTime` is 3 months.\n     *\n     * Weight: 100\n     *\n     * @summary Query User Negative Balance Auto Exchange Record (USER_DATA)\n     * @param {QueryUserNegativeBalanceAutoExchangeRecordRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    queryUserNegativeBalanceAutoExchangeRecord(\n        requestParameters: QueryUserNegativeBalanceAutoExchangeRecordRequest\n    ): Promise<RestApiResponse<QueryUserNegativeBalanceAutoExchangeRecordResponse>>;\n    /**\n     * Query User Rate Limit\n     *\n     * Weight: 1\n     *\n     * @summary Query User Rate Limit (USER_DATA)\n     * @param {QueryUserRateLimitRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    queryUserRateLimit(\n        requestParameters?: QueryUserRateLimitRequest\n    ): Promise<RestApiResponse<QueryUserRateLimitResponse>>;\n    /**\n     * Repay futures Negative Balance\n     *\n     * Weight: 750\n     *\n     * @summary Repay futures Negative Balance(USER_DATA)\n     * @param {RepayFuturesNegativeBalanceRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    repayFuturesNegativeBalance(\n        requestParameters?: RepayFuturesNegativeBalanceRequest\n    ): Promise<RestApiResponse<RepayFuturesNegativeBalanceResponse>>;\n    /**\n     * Query UM Futures account configuration\n     *\n     * Weight: 5\n     *\n     * @summary UM Futures Account Configuration(USER_DATA)\n     * @param {UmFuturesAccountConfigurationRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    umFuturesAccountConfiguration(\n        requestParameters?: UmFuturesAccountConfigurationRequest\n    ): Promise<RestApiResponse<UmFuturesAccountConfigurationResponse>>;\n    /**\n     * Get current UM account symbol configuration.\n     *\n     * Weight: 5\n     *\n     * @summary UM Futures Symbol Configuration(USER_DATA)\n     * @param {UmFuturesSymbolConfigurationRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    umFuturesSymbolConfiguration(\n        requestParameters?: UmFuturesSymbolConfigurationRequest\n    ): Promise<RestApiResponse<UmFuturesSymbolConfigurationResponse>>;\n    /**\n     * Query UM notional and leverage brackets\n     *\n     * Weight: 1\n     *\n     * @summary UM Notional and Leverage Brackets (USER_DATA)\n     * @param {UmNotionalAndLeverageBracketsRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    umNotionalAndLeverageBrackets(\n        requestParameters?: UmNotionalAndLeverageBracketsRequest\n    ): Promise<RestApiResponse<UmNotionalAndLeverageBracketsResponse>>;\n}\n\n/**\n * Request parameters for accountBalance operation in AccountApi.\n * @interface AccountBalanceRequest\n */\nexport interface AccountBalanceRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof AccountApiAccountBalance\n     */\n    readonly asset?: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiAccountBalance\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for accountInformation operation in AccountApi.\n * @interface AccountInformationRequest\n */\nexport interface AccountInformationRequest {\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiAccountInformation\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for bnbTransfer operation in AccountApi.\n * @interface BnbTransferRequest\n */\nexport interface BnbTransferRequest {\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiBnbTransfer\n     */\n    readonly amount: number;\n\n    /**\n     * \"TO_UM\",\"FROM_UM\"\n     * @type {string}\n     * @memberof AccountApiBnbTransfer\n     */\n    readonly transferSide: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiBnbTransfer\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for changeAutoRepayFuturesStatus operation in AccountApi.\n * @interface ChangeAutoRepayFuturesStatusRequest\n */\nexport interface ChangeAutoRepayFuturesStatusRequest {\n    /**\n     * Default: `true`; `false` for turn off the auto-repay futures negative balance function\n     * @type {string}\n     * @memberof AccountApiChangeAutoRepayFuturesStatus\n     */\n    readonly autoRepay: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiChangeAutoRepayFuturesStatus\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for changeCmInitialLeverage operation in AccountApi.\n * @interface ChangeCmInitialLeverageRequest\n */\nexport interface ChangeCmInitialLeverageRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof AccountApiChangeCmInitialLeverage\n     */\n    readonly symbol: string;\n\n    /**\n     * target initial leverage: int from 1 to 125\n     * @type {number | bigint}\n     * @memberof AccountApiChangeCmInitialLeverage\n     */\n    readonly leverage: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiChangeCmInitialLeverage\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for changeCmPositionMode operation in AccountApi.\n * @interface ChangeCmPositionModeRequest\n */\nexport interface ChangeCmPositionModeRequest {\n    /**\n     * \"true\": Hedge Mode; \"false\": One-way Mode\n     * @type {string}\n     * @memberof AccountApiChangeCmPositionMode\n     */\n    readonly dualSidePosition: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiChangeCmPositionMode\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for changeUmInitialLeverage operation in AccountApi.\n * @interface ChangeUmInitialLeverageRequest\n */\nexport interface ChangeUmInitialLeverageRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof AccountApiChangeUmInitialLeverage\n     */\n    readonly symbol: string;\n\n    /**\n     * target initial leverage: int from 1 to 125\n     * @type {number | bigint}\n     * @memberof AccountApiChangeUmInitialLeverage\n     */\n    readonly leverage: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiChangeUmInitialLeverage\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for changeUmPositionMode operation in AccountApi.\n * @interface ChangeUmPositionModeRequest\n */\nexport interface ChangeUmPositionModeRequest {\n    /**\n     * \"true\": Hedge Mode; \"false\": One-way Mode\n     * @type {string}\n     * @memberof AccountApiChangeUmPositionMode\n     */\n    readonly dualSidePosition: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiChangeUmPositionMode\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for cmNotionalAndLeverageBrackets operation in AccountApi.\n * @interface CmNotionalAndLeverageBracketsRequest\n */\nexport interface CmNotionalAndLeverageBracketsRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof AccountApiCmNotionalAndLeverageBrackets\n     */\n    readonly symbol?: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiCmNotionalAndLeverageBrackets\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for fundAutoCollection operation in AccountApi.\n * @interface FundAutoCollectionRequest\n */\nexport interface FundAutoCollectionRequest {\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiFundAutoCollection\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for fundCollectionByAsset operation in AccountApi.\n * @interface FundCollectionByAssetRequest\n */\nexport interface FundCollectionByAssetRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof AccountApiFundCollectionByAsset\n     */\n    readonly asset: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiFundCollectionByAsset\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for getAutoRepayFuturesStatus operation in AccountApi.\n * @interface GetAutoRepayFuturesStatusRequest\n */\nexport interface GetAutoRepayFuturesStatusRequest {\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiGetAutoRepayFuturesStatus\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for getCmAccountDetail operation in AccountApi.\n * @interface GetCmAccountDetailRequest\n */\nexport interface GetCmAccountDetailRequest {\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiGetCmAccountDetail\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for getCmCurrentPositionMode operation in AccountApi.\n * @interface GetCmCurrentPositionModeRequest\n */\nexport interface GetCmCurrentPositionModeRequest {\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiGetCmCurrentPositionMode\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for getCmIncomeHistory operation in AccountApi.\n * @interface GetCmIncomeHistoryRequest\n */\nexport interface GetCmIncomeHistoryRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof AccountApiGetCmIncomeHistory\n     */\n    readonly symbol?: string;\n\n    /**\n     * TRANSFER, WELCOME_BONUS, REALIZED_PNL, FUNDING_FEE, COMMISSION, INSURANCE_CLEAR, REFERRAL_KICKBACK, COMMISSION_REBATE, API_REBATE, CONTEST_REWARD, CROSS_COLLATERAL_TRANSFER, OPTIONS_PREMIUM_FEE, OPTIONS_SETTLE_PROFIT, INTERNAL_TRANSFER, AUTO_EXCHANGE, DELIVERED_SETTELMENT, COIN_SWAP_DEPOSIT, COIN_SWAP_WITHDRAW, POSITION_LIMIT_INCREASE_FEE\n     * @type {string}\n     * @memberof AccountApiGetCmIncomeHistory\n     */\n    readonly incomeType?: string;\n\n    /**\n     * Timestamp in ms to get funding from INCLUSIVE.\n     * @type {number | bigint}\n     * @memberof AccountApiGetCmIncomeHistory\n     */\n    readonly startTime?: number | bigint;\n\n    /**\n     * Timestamp in ms to get funding until INCLUSIVE.\n     * @type {number | bigint}\n     * @memberof AccountApiGetCmIncomeHistory\n     */\n    readonly endTime?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiGetCmIncomeHistory\n     */\n    readonly page?: number | bigint;\n\n    /**\n     * Default 100; max 1000\n     * @type {number | bigint}\n     * @memberof AccountApiGetCmIncomeHistory\n     */\n    readonly limit?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiGetCmIncomeHistory\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for getDownloadIdForUmFuturesOrderHistory operation in AccountApi.\n * @interface GetDownloadIdForUmFuturesOrderHistoryRequest\n */\nexport interface GetDownloadIdForUmFuturesOrderHistoryRequest {\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiGetDownloadIdForUmFuturesOrderHistory\n     */\n    readonly startTime: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiGetDownloadIdForUmFuturesOrderHistory\n     */\n    readonly endTime: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiGetDownloadIdForUmFuturesOrderHistory\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for getDownloadIdForUmFuturesTradeHistory operation in AccountApi.\n * @interface GetDownloadIdForUmFuturesTradeHistoryRequest\n */\nexport interface GetDownloadIdForUmFuturesTradeHistoryRequest {\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiGetDownloadIdForUmFuturesTradeHistory\n     */\n    readonly startTime: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiGetDownloadIdForUmFuturesTradeHistory\n     */\n    readonly endTime: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiGetDownloadIdForUmFuturesTradeHistory\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for getDownloadIdForUmFuturesTransactionHistory operation in AccountApi.\n * @interface GetDownloadIdForUmFuturesTransactionHistoryRequest\n */\nexport interface GetDownloadIdForUmFuturesTransactionHistoryRequest {\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiGetDownloadIdForUmFuturesTransactionHistory\n     */\n    readonly startTime: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiGetDownloadIdForUmFuturesTransactionHistory\n     */\n    readonly endTime: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiGetDownloadIdForUmFuturesTransactionHistory\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for getMarginBorrowLoanInterestHistory operation in AccountApi.\n * @interface GetMarginBorrowLoanInterestHistoryRequest\n */\nexport interface GetMarginBorrowLoanInterestHistoryRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof AccountApiGetMarginBorrowLoanInterestHistory\n     */\n    readonly asset?: string;\n\n    /**\n     * Timestamp in ms to get funding from INCLUSIVE.\n     * @type {number | bigint}\n     * @memberof AccountApiGetMarginBorrowLoanInterestHistory\n     */\n    readonly startTime?: number | bigint;\n\n    /**\n     * Timestamp in ms to get funding until INCLUSIVE.\n     * @type {number | bigint}\n     * @memberof AccountApiGetMarginBorrowLoanInterestHistory\n     */\n    readonly endTime?: number | bigint;\n\n    /**\n     * Currently querying page. Start from 1. Default:1\n     * @type {number | bigint}\n     * @memberof AccountApiGetMarginBorrowLoanInterestHistory\n     */\n    readonly current?: number | bigint;\n\n    /**\n     * Default:10 Max:100\n     * @type {number | bigint}\n     * @memberof AccountApiGetMarginBorrowLoanInterestHistory\n     */\n    readonly size?: number | bigint;\n\n    /**\n     * Default: `false`. Set to `true` for archived data from 6 months ago\n     * @type {string}\n     * @memberof AccountApiGetMarginBorrowLoanInterestHistory\n     */\n    readonly archived?: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiGetMarginBorrowLoanInterestHistory\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for getUmAccountDetail operation in AccountApi.\n * @interface GetUmAccountDetailRequest\n */\nexport interface GetUmAccountDetailRequest {\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiGetUmAccountDetail\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for getUmAccountDetailV2 operation in AccountApi.\n * @interface GetUmAccountDetailV2Request\n */\nexport interface GetUmAccountDetailV2Request {\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiGetUmAccountDetailV2\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for getUmCurrentPositionMode operation in AccountApi.\n * @interface GetUmCurrentPositionModeRequest\n */\nexport interface GetUmCurrentPositionModeRequest {\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiGetUmCurrentPositionMode\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for getUmFuturesOrderDownloadLinkById operation in AccountApi.\n * @interface GetUmFuturesOrderDownloadLinkByIdRequest\n */\nexport interface GetUmFuturesOrderDownloadLinkByIdRequest {\n    /**\n     * get by download id api\n     * @type {string}\n     * @memberof AccountApiGetUmFuturesOrderDownloadLinkById\n     */\n    readonly downloadId: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiGetUmFuturesOrderDownloadLinkById\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for getUmFuturesTradeDownloadLinkById operation in AccountApi.\n * @interface GetUmFuturesTradeDownloadLinkByIdRequest\n */\nexport interface GetUmFuturesTradeDownloadLinkByIdRequest {\n    /**\n     * get by download id api\n     * @type {string}\n     * @memberof AccountApiGetUmFuturesTradeDownloadLinkById\n     */\n    readonly downloadId: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiGetUmFuturesTradeDownloadLinkById\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for getUmFuturesTransactionDownloadLinkById operation in AccountApi.\n * @interface GetUmFuturesTransactionDownloadLinkByIdRequest\n */\nexport interface GetUmFuturesTransactionDownloadLinkByIdRequest {\n    /**\n     * get by download id api\n     * @type {string}\n     * @memberof AccountApiGetUmFuturesTransactionDownloadLinkById\n     */\n    readonly downloadId: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiGetUmFuturesTransactionDownloadLinkById\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for getUmIncomeHistory operation in AccountApi.\n * @interface GetUmIncomeHistoryRequest\n */\nexport interface GetUmIncomeHistoryRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof AccountApiGetUmIncomeHistory\n     */\n    readonly symbol?: string;\n\n    /**\n     * TRANSFER, WELCOME_BONUS, REALIZED_PNL, FUNDING_FEE, COMMISSION, INSURANCE_CLEAR, REFERRAL_KICKBACK, COMMISSION_REBATE, API_REBATE, CONTEST_REWARD, CROSS_COLLATERAL_TRANSFER, OPTIONS_PREMIUM_FEE, OPTIONS_SETTLE_PROFIT, INTERNAL_TRANSFER, AUTO_EXCHANGE, DELIVERED_SETTELMENT, COIN_SWAP_DEPOSIT, COIN_SWAP_WITHDRAW, POSITION_LIMIT_INCREASE_FEE\n     * @type {string}\n     * @memberof AccountApiGetUmIncomeHistory\n     */\n    readonly incomeType?: string;\n\n    /**\n     * Timestamp in ms to get funding from INCLUSIVE.\n     * @type {number | bigint}\n     * @memberof AccountApiGetUmIncomeHistory\n     */\n    readonly startTime?: number | bigint;\n\n    /**\n     * Timestamp in ms to get funding until INCLUSIVE.\n     * @type {number | bigint}\n     * @memberof AccountApiGetUmIncomeHistory\n     */\n    readonly endTime?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiGetUmIncomeHistory\n     */\n    readonly page?: number | bigint;\n\n    /**\n     * Default 100; max 1000\n     * @type {number | bigint}\n     * @memberof AccountApiGetUmIncomeHistory\n     */\n    readonly limit?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiGetUmIncomeHistory\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for getUserCommissionRateForCm operation in AccountApi.\n * @interface GetUserCommissionRateForCmRequest\n */\nexport interface GetUserCommissionRateForCmRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof AccountApiGetUserCommissionRateForCm\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiGetUserCommissionRateForCm\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for getUserCommissionRateForUm operation in AccountApi.\n * @interface GetUserCommissionRateForUmRequest\n */\nexport interface GetUserCommissionRateForUmRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof AccountApiGetUserCommissionRateForUm\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiGetUserCommissionRateForUm\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for marginMaxBorrow operation in AccountApi.\n * @interface MarginMaxBorrowRequest\n */\nexport interface MarginMaxBorrowRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof AccountApiMarginMaxBorrow\n     */\n    readonly asset: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiMarginMaxBorrow\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for portfolioMarginUmTradingQuantitativeRulesIndicators operation in AccountApi.\n * @interface PortfolioMarginUmTradingQuantitativeRulesIndicatorsRequest\n */\nexport interface PortfolioMarginUmTradingQuantitativeRulesIndicatorsRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof AccountApiPortfolioMarginUmTradingQuantitativeRulesIndicators\n     */\n    readonly symbol?: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiPortfolioMarginUmTradingQuantitativeRulesIndicators\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for queryCmPositionInformation operation in AccountApi.\n * @interface QueryCmPositionInformationRequest\n */\nexport interface QueryCmPositionInformationRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof AccountApiQueryCmPositionInformation\n     */\n    readonly marginAsset?: string;\n\n    /**\n     *\n     * @type {string}\n     * @memberof AccountApiQueryCmPositionInformation\n     */\n    readonly pair?: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiQueryCmPositionInformation\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for queryMarginLoanRecord operation in AccountApi.\n * @interface QueryMarginLoanRecordRequest\n */\nexport interface QueryMarginLoanRecordRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof AccountApiQueryMarginLoanRecord\n     */\n    readonly asset: string;\n\n    /**\n     * the `tranId` in `POST/papi/v1/marginLoan`\n     * @type {number | bigint}\n     * @memberof AccountApiQueryMarginLoanRecord\n     */\n    readonly txId?: number | bigint;\n\n    /**\n     * Timestamp in ms to get funding from INCLUSIVE.\n     * @type {number | bigint}\n     * @memberof AccountApiQueryMarginLoanRecord\n     */\n    readonly startTime?: number | bigint;\n\n    /**\n     * Timestamp in ms to get funding until INCLUSIVE.\n     * @type {number | bigint}\n     * @memberof AccountApiQueryMarginLoanRecord\n     */\n    readonly endTime?: number | bigint;\n\n    /**\n     * Currently querying page. Start from 1. Default:1\n     * @type {number | bigint}\n     * @memberof AccountApiQueryMarginLoanRecord\n     */\n    readonly current?: number | bigint;\n\n    /**\n     * Default:10 Max:100\n     * @type {number | bigint}\n     * @memberof AccountApiQueryMarginLoanRecord\n     */\n    readonly size?: number | bigint;\n\n    /**\n     * Default: `false`. Set to `true` for archived data from 6 months ago\n     * @type {string}\n     * @memberof AccountApiQueryMarginLoanRecord\n     */\n    readonly archived?: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiQueryMarginLoanRecord\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for queryMarginMaxWithdraw operation in AccountApi.\n * @interface QueryMarginMaxWithdrawRequest\n */\nexport interface QueryMarginMaxWithdrawRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof AccountApiQueryMarginMaxWithdraw\n     */\n    readonly asset: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiQueryMarginMaxWithdraw\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for queryMarginRepayRecord operation in AccountApi.\n * @interface QueryMarginRepayRecordRequest\n */\nexport interface QueryMarginRepayRecordRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof AccountApiQueryMarginRepayRecord\n     */\n    readonly asset: string;\n\n    /**\n     * the `tranId` in `POST/papi/v1/marginLoan`\n     * @type {number | bigint}\n     * @memberof AccountApiQueryMarginRepayRecord\n     */\n    readonly txId?: number | bigint;\n\n    /**\n     * Timestamp in ms to get funding from INCLUSIVE.\n     * @type {number | bigint}\n     * @memberof AccountApiQueryMarginRepayRecord\n     */\n    readonly startTime?: number | bigint;\n\n    /**\n     * Timestamp in ms to get funding until INCLUSIVE.\n     * @type {number | bigint}\n     * @memberof AccountApiQueryMarginRepayRecord\n     */\n    readonly endTime?: number | bigint;\n\n    /**\n     * Currently querying page. Start from 1. Default:1\n     * @type {number | bigint}\n     * @memberof AccountApiQueryMarginRepayRecord\n     */\n    readonly current?: number | bigint;\n\n    /**\n     * Default:10 Max:100\n     * @type {number | bigint}\n     * @memberof AccountApiQueryMarginRepayRecord\n     */\n    readonly size?: number | bigint;\n\n    /**\n     * Default: `false`. Set to `true` for archived data from 6 months ago\n     * @type {string}\n     * @memberof AccountApiQueryMarginRepayRecord\n     */\n    readonly archived?: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiQueryMarginRepayRecord\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for queryPortfolioMarginNegativeBalanceInterestHistory operation in AccountApi.\n * @interface QueryPortfolioMarginNegativeBalanceInterestHistoryRequest\n */\nexport interface QueryPortfolioMarginNegativeBalanceInterestHistoryRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof AccountApiQueryPortfolioMarginNegativeBalanceInterestHistory\n     */\n    readonly asset?: string;\n\n    /**\n     * Timestamp in ms to get funding from INCLUSIVE.\n     * @type {number | bigint}\n     * @memberof AccountApiQueryPortfolioMarginNegativeBalanceInterestHistory\n     */\n    readonly startTime?: number | bigint;\n\n    /**\n     * Timestamp in ms to get funding until INCLUSIVE.\n     * @type {number | bigint}\n     * @memberof AccountApiQueryPortfolioMarginNegativeBalanceInterestHistory\n     */\n    readonly endTime?: number | bigint;\n\n    /**\n     * Default:10 Max:100\n     * @type {number | bigint}\n     * @memberof AccountApiQueryPortfolioMarginNegativeBalanceInterestHistory\n     */\n    readonly size?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiQueryPortfolioMarginNegativeBalanceInterestHistory\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for queryUmPositionInformation operation in AccountApi.\n * @interface QueryUmPositionInformationRequest\n */\nexport interface QueryUmPositionInformationRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof AccountApiQueryUmPositionInformation\n     */\n    readonly symbol?: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiQueryUmPositionInformation\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for queryUserNegativeBalanceAutoExchangeRecord operation in AccountApi.\n * @interface QueryUserNegativeBalanceAutoExchangeRecordRequest\n */\nexport interface QueryUserNegativeBalanceAutoExchangeRecordRequest {\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiQueryUserNegativeBalanceAutoExchangeRecord\n     */\n    readonly startTime: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiQueryUserNegativeBalanceAutoExchangeRecord\n     */\n    readonly endTime: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiQueryUserNegativeBalanceAutoExchangeRecord\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for queryUserRateLimit operation in AccountApi.\n * @interface QueryUserRateLimitRequest\n */\nexport interface QueryUserRateLimitRequest {\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiQueryUserRateLimit\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for repayFuturesNegativeBalance operation in AccountApi.\n * @interface RepayFuturesNegativeBalanceRequest\n */\nexport interface RepayFuturesNegativeBalanceRequest {\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiRepayFuturesNegativeBalance\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for umFuturesAccountConfiguration operation in AccountApi.\n * @interface UmFuturesAccountConfigurationRequest\n */\nexport interface UmFuturesAccountConfigurationRequest {\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiUmFuturesAccountConfiguration\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for umFuturesSymbolConfiguration operation in AccountApi.\n * @interface UmFuturesSymbolConfigurationRequest\n */\nexport interface UmFuturesSymbolConfigurationRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof AccountApiUmFuturesSymbolConfiguration\n     */\n    readonly symbol?: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiUmFuturesSymbolConfiguration\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for umNotionalAndLeverageBrackets operation in AccountApi.\n * @interface UmNotionalAndLeverageBracketsRequest\n */\nexport interface UmNotionalAndLeverageBracketsRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof AccountApiUmNotionalAndLeverageBrackets\n     */\n    readonly symbol?: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiUmNotionalAndLeverageBrackets\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * AccountApi - object-oriented interface\n * @class AccountApi\n */\nexport class AccountApi implements AccountApiInterface {\n    private readonly configuration: ConfigurationRestAPI;\n    private localVarAxiosParamCreator;\n\n    constructor(configuration: ConfigurationRestAPI) {\n        this.configuration = configuration;\n        this.localVarAxiosParamCreator = AccountApiAxiosParamCreator(configuration);\n    }\n\n    /**\n     * Query account balance\n     *\n     * Weight: 20\n     *\n     * @summary Account Balance(USER_DATA)\n     * @param {AccountBalanceRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<AccountBalanceResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Account-Balance Binance API Documentation}\n     */\n    public async accountBalance(\n        requestParameters: AccountBalanceRequest = {}\n    ): Promise<RestApiResponse<AccountBalanceResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.accountBalance(\n            requestParameters?.asset,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<AccountBalanceResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query account information\n     *\n     * Weight: 20\n     *\n     * @summary Account Information(USER_DATA)\n     * @param {AccountInformationRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<AccountInformationResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Account-Information Binance API Documentation}\n     */\n    public async accountInformation(\n        requestParameters: AccountInformationRequest = {}\n    ): Promise<RestApiResponse<AccountInformationResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.accountInformation(\n            requestParameters?.recvWindow\n        );\n        return sendRequest<AccountInformationResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Transfer BNB in and out of UM\n     *\n     * The endpoint can only be called 10 times per 10 minutes in a rolling manner\n     *\n     * Weight: 750\n     *\n     * @summary BNB transfer (TRADE)\n     * @param {BnbTransferRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<BnbTransferResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/BNB-transfer Binance API Documentation}\n     */\n    public async bnbTransfer(\n        requestParameters: BnbTransferRequest\n    ): Promise<RestApiResponse<BnbTransferResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.bnbTransfer(\n            requestParameters?.amount,\n            requestParameters?.transferSide,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<BnbTransferResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Change Auto-repay-futures Status\n     *\n     * Weight: 750\n     *\n     * @summary Change Auto-repay-futures Status(TRADE)\n     * @param {ChangeAutoRepayFuturesStatusRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<ChangeAutoRepayFuturesStatusResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Change-Auto-repay-futures-Status Binance API Documentation}\n     */\n    public async changeAutoRepayFuturesStatus(\n        requestParameters: ChangeAutoRepayFuturesStatusRequest\n    ): Promise<RestApiResponse<ChangeAutoRepayFuturesStatusResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.changeAutoRepayFuturesStatus(\n            requestParameters?.autoRepay,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<ChangeAutoRepayFuturesStatusResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Change user's initial leverage of specific symbol in CM.\n     *\n     * Weight: 1\n     *\n     * @summary Change CM Initial Leverage (TRADE)\n     * @param {ChangeCmInitialLeverageRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<ChangeCmInitialLeverageResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Change-CM-Initial-Leverage Binance API Documentation}\n     */\n    public async changeCmInitialLeverage(\n        requestParameters: ChangeCmInitialLeverageRequest\n    ): Promise<RestApiResponse<ChangeCmInitialLeverageResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.changeCmInitialLeverage(\n            requestParameters?.symbol,\n            requestParameters?.leverage,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<ChangeCmInitialLeverageResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Change user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol in CM\n     *\n     * Weight: 1\n     *\n     * @summary Change CM Position Mode(TRADE)\n     * @param {ChangeCmPositionModeRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<ChangeCmPositionModeResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Change-CM-Position-Mode Binance API Documentation}\n     */\n    public async changeCmPositionMode(\n        requestParameters: ChangeCmPositionModeRequest\n    ): Promise<RestApiResponse<ChangeCmPositionModeResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.changeCmPositionMode(\n            requestParameters?.dualSidePosition,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<ChangeCmPositionModeResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Change user's initial leverage of specific symbol in UM.\n     *\n     * Weight: 1\n     *\n     * @summary Change UM Initial Leverage(TRADE)\n     * @param {ChangeUmInitialLeverageRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<ChangeUmInitialLeverageResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Change-UM-Initial-Leverage Binance API Documentation}\n     */\n    public async changeUmInitialLeverage(\n        requestParameters: ChangeUmInitialLeverageRequest\n    ): Promise<RestApiResponse<ChangeUmInitialLeverageResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.changeUmInitialLeverage(\n            requestParameters?.symbol,\n            requestParameters?.leverage,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<ChangeUmInitialLeverageResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Change user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol in UM\n     *\n     * Weight: 1\n     *\n     * @summary Change UM Position Mode(TRADE)\n     * @param {ChangeUmPositionModeRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<ChangeUmPositionModeResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Change-UM-Position-Mode Binance API Documentation}\n     */\n    public async changeUmPositionMode(\n        requestParameters: ChangeUmPositionModeRequest\n    ): Promise<RestApiResponse<ChangeUmPositionModeResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.changeUmPositionMode(\n            requestParameters?.dualSidePosition,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<ChangeUmPositionModeResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query CM notional and leverage brackets\n     *\n     * Weight: 1\n     *\n     * @summary CM Notional and Leverage Brackets(USER_DATA)\n     * @param {CmNotionalAndLeverageBracketsRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<CmNotionalAndLeverageBracketsResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/CM-Notional-and-Leverage-Brackets Binance API Documentation}\n     */\n    public async cmNotionalAndLeverageBrackets(\n        requestParameters: CmNotionalAndLeverageBracketsRequest = {}\n    ): Promise<RestApiResponse<CmNotionalAndLeverageBracketsResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.cmNotionalAndLeverageBrackets(\n                requestParameters?.symbol,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<CmNotionalAndLeverageBracketsResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Fund collection for Portfolio Margin\n     *\n     * The BNB would not be collected from UM-PM account to the Portfolio Margin account.\n     * You can only use this function 500 times per hour in a rolling manner.\n     *\n     * Weight: 750\n     *\n     * @summary Fund Auto-collection(TRADE)\n     * @param {FundAutoCollectionRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<FundAutoCollectionResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Fund-Auto-collection Binance API Documentation}\n     */\n    public async fundAutoCollection(\n        requestParameters: FundAutoCollectionRequest = {}\n    ): Promise<RestApiResponse<FundAutoCollectionResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.fundAutoCollection(\n            requestParameters?.recvWindow\n        );\n        return sendRequest<FundAutoCollectionResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Transfers specific asset from Futures Account to Margin account\n     *\n     * The BNB transfer is not be supported\n     *\n     * Weight: 30\n     *\n     * @summary Fund Collection by Asset(TRADE)\n     * @param {FundCollectionByAssetRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<FundCollectionByAssetResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Fund-Collection-by-Asset Binance API Documentation}\n     */\n    public async fundCollectionByAsset(\n        requestParameters: FundCollectionByAssetRequest\n    ): Promise<RestApiResponse<FundCollectionByAssetResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.fundCollectionByAsset(\n            requestParameters?.asset,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<FundCollectionByAssetResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query Auto-repay-futures Status\n     *\n     * Weight: 30\n     *\n     * @summary Get Auto-repay-futures Status(USER_DATA)\n     * @param {GetAutoRepayFuturesStatusRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetAutoRepayFuturesStatusResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-Auto-repay-futures-Status Binance API Documentation}\n     */\n    public async getAutoRepayFuturesStatus(\n        requestParameters: GetAutoRepayFuturesStatusRequest = {}\n    ): Promise<RestApiResponse<GetAutoRepayFuturesStatusResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getAutoRepayFuturesStatus(\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetAutoRepayFuturesStatusResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get current CM account asset and position information.\n     *\n     * Weight: 5\n     *\n     * @summary Get CM Account Detail(USER_DATA)\n     * @param {GetCmAccountDetailRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetCmAccountDetailResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-CM-Account-Detail Binance API Documentation}\n     */\n    public async getCmAccountDetail(\n        requestParameters: GetCmAccountDetailRequest = {}\n    ): Promise<RestApiResponse<GetCmAccountDetailResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getCmAccountDetail(\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetCmAccountDetailResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol in CM\n     *\n     * Weight: 30\n     *\n     * @summary Get CM Current Position Mode(USER_DATA)\n     * @param {GetCmCurrentPositionModeRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetCmCurrentPositionModeResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-CM-Current-Position-Mode Binance API Documentation}\n     */\n    public async getCmCurrentPositionMode(\n        requestParameters: GetCmCurrentPositionModeRequest = {}\n    ): Promise<RestApiResponse<GetCmCurrentPositionModeResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getCmCurrentPositionMode(\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetCmCurrentPositionModeResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get CM Income History\n     *\n     *\n     * If `incomeType` is not sent, all kinds of flow will be returned\n     * \"trandId\" is unique in the same \"incomeType\" for a user\n     * The interval between `startTime` and `endTime` can not exceed 200 days:\n     * If `startTime` and `endTime` are not sent, the last 200 days will be returned\n     *\n     * Weight: 30\n     *\n     * @summary Get CM Income History(USER_DATA)\n     * @param {GetCmIncomeHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetCmIncomeHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-CM-Income-History Binance API Documentation}\n     */\n    public async getCmIncomeHistory(\n        requestParameters: GetCmIncomeHistoryRequest = {}\n    ): Promise<RestApiResponse<GetCmIncomeHistoryResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getCmIncomeHistory(\n            requestParameters?.symbol,\n            requestParameters?.incomeType,\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.page,\n            requestParameters?.limit,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetCmIncomeHistoryResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get download id for UM futures order history\n     *\n     * Request Limitation is 10 times per month, shared by front end download page and rest api\n     * The time between `startTime` and `endTime` can not be longer than 1 year\n     *\n     * Weight: 1500\n     *\n     * @summary Get Download Id For UM Futures Order History (USER_DATA)\n     * @param {GetDownloadIdForUmFuturesOrderHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetDownloadIdForUmFuturesOrderHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-Download-Id-For-UM-Futures-Order-History Binance API Documentation}\n     */\n    public async getDownloadIdForUmFuturesOrderHistory(\n        requestParameters: GetDownloadIdForUmFuturesOrderHistoryRequest\n    ): Promise<RestApiResponse<GetDownloadIdForUmFuturesOrderHistoryResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.getDownloadIdForUmFuturesOrderHistory(\n                requestParameters?.startTime,\n                requestParameters?.endTime,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<GetDownloadIdForUmFuturesOrderHistoryResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get download id for UM futures trade history\n     *\n     * Request Limitation is 5 times per month, shared by front end download page and rest api\n     * The time between `startTime` and `endTime` can not be longer than 1 year\n     *\n     * Weight: 1500\n     *\n     * @summary Get Download Id For UM Futures Trade History (USER_DATA)\n     * @param {GetDownloadIdForUmFuturesTradeHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetDownloadIdForUmFuturesTradeHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-Download-Id-For-UM-Futures-Trade-History Binance API Documentation}\n     */\n    public async getDownloadIdForUmFuturesTradeHistory(\n        requestParameters: GetDownloadIdForUmFuturesTradeHistoryRequest\n    ): Promise<RestApiResponse<GetDownloadIdForUmFuturesTradeHistoryResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.getDownloadIdForUmFuturesTradeHistory(\n                requestParameters?.startTime,\n                requestParameters?.endTime,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<GetDownloadIdForUmFuturesTradeHistoryResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get download id for UM futures transaction history\n     *\n     * Request Limitation is 5 times per month, shared by front end download page and rest api\n     * The time between `startTime` and `endTime` can not be longer than 1 year\n     *\n     * Weight: 1500\n     *\n     * @summary Get Download Id For UM Futures Transaction History (USER_DATA)\n     * @param {GetDownloadIdForUmFuturesTransactionHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetDownloadIdForUmFuturesTransactionHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-Download-Id-For-UM-Futures-Transaction-History Binance API Documentation}\n     */\n    public async getDownloadIdForUmFuturesTransactionHistory(\n        requestParameters: GetDownloadIdForUmFuturesTransactionHistoryRequest\n    ): Promise<RestApiResponse<GetDownloadIdForUmFuturesTransactionHistoryResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.getDownloadIdForUmFuturesTransactionHistory(\n                requestParameters?.startTime,\n                requestParameters?.endTime,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<GetDownloadIdForUmFuturesTransactionHistoryResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get Margin Borrow/Loan Interest History\n     *\n     *\n     * Response in descending order\n     * The max interval between startTime and endTime is 30 days. It is a MUST to ensure data correctness.\n     * If `startTime` and `endTime` not sent, return records of the last 7 days by default\n     * If `startTime` is sent and `endTime` is not sent, the records from `startTime` to the present will be returned; if `startTime` is more than 30 days ago, the records of the past 30 days will be returned.\n     * If `startTime` is not sent and `endTime` is sent, the records of the 7 days before `endTime` is returned.\n     * Type in response has 5 enums:\n     * `PERIODIC` interest charged per hour\n     * `ON_BORROW` first interest charged on borrow\n     * `PERIODIC_CONVERTED` interest charged per hour converted into BNB\n     * `ON_BORROW_CONVERTED` first interest charged on borrow converted into BNB\n     * `PORTFOLIO` Portfolio Margin negative balance daily interest\n     *\n     * Weight: 1\n     *\n     * @summary Get Margin Borrow/Loan Interest History(USER_DATA)\n     * @param {GetMarginBorrowLoanInterestHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetMarginBorrowLoanInterestHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-Margin-BorrowLoan-Interest-History Binance API Documentation}\n     */\n    public async getMarginBorrowLoanInterestHistory(\n        requestParameters: GetMarginBorrowLoanInterestHistoryRequest = {}\n    ): Promise<RestApiResponse<GetMarginBorrowLoanInterestHistoryResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.getMarginBorrowLoanInterestHistory(\n                requestParameters?.asset,\n                requestParameters?.startTime,\n                requestParameters?.endTime,\n                requestParameters?.current,\n                requestParameters?.size,\n                requestParameters?.archived,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<GetMarginBorrowLoanInterestHistoryResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get current UM account asset and position information.\n     *\n     * Weight: 5\n     *\n     * @summary Get UM Account Detail(USER_DATA)\n     * @param {GetUmAccountDetailRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetUmAccountDetailResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Account-Detail Binance API Documentation}\n     */\n    public async getUmAccountDetail(\n        requestParameters: GetUmAccountDetailRequest = {}\n    ): Promise<RestApiResponse<GetUmAccountDetailResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getUmAccountDetail(\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetUmAccountDetailResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get current UM account asset and position information.\n     *\n     * Weight: 5\n     *\n     * @summary Get UM Account Detail V2(USER_DATA)\n     * @param {GetUmAccountDetailV2Request} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetUmAccountDetailV2Response>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Account-Detail-V2 Binance API Documentation}\n     */\n    public async getUmAccountDetailV2(\n        requestParameters: GetUmAccountDetailV2Request = {}\n    ): Promise<RestApiResponse<GetUmAccountDetailV2Response>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getUmAccountDetailV2(\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetUmAccountDetailV2Response>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol in UM\n     *\n     * Weight: 30\n     *\n     * @summary Get UM Current Position Mode(USER_DATA)\n     * @param {GetUmCurrentPositionModeRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetUmCurrentPositionModeResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Current-Position-Mode Binance API Documentation}\n     */\n    public async getUmCurrentPositionMode(\n        requestParameters: GetUmCurrentPositionModeRequest = {}\n    ): Promise<RestApiResponse<GetUmCurrentPositionModeResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getUmCurrentPositionMode(\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetUmCurrentPositionModeResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get UM futures order download link by Id\n     *\n     * Download link expiration: 7 days\n     *\n     * Weight: 10\n     *\n     * @summary Get UM Futures Order Download Link by Id(USER_DATA)\n     * @param {GetUmFuturesOrderDownloadLinkByIdRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetUmFuturesOrderDownloadLinkByIdResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Futures-Order-Download-Link-by-Id Binance API Documentation}\n     */\n    public async getUmFuturesOrderDownloadLinkById(\n        requestParameters: GetUmFuturesOrderDownloadLinkByIdRequest\n    ): Promise<RestApiResponse<GetUmFuturesOrderDownloadLinkByIdResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.getUmFuturesOrderDownloadLinkById(\n                requestParameters?.downloadId,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<GetUmFuturesOrderDownloadLinkByIdResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get UM futures trade download link by Id\n     *\n     * Download link expiration: 7 days\n     *\n     * Weight: 10\n     *\n     * @summary Get UM Futures Trade Download Link by Id(USER_DATA)\n     * @param {GetUmFuturesTradeDownloadLinkByIdRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetUmFuturesTradeDownloadLinkByIdResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Futures-Trade-Download-Link-by-Id Binance API Documentation}\n     */\n    public async getUmFuturesTradeDownloadLinkById(\n        requestParameters: GetUmFuturesTradeDownloadLinkByIdRequest\n    ): Promise<RestApiResponse<GetUmFuturesTradeDownloadLinkByIdResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.getUmFuturesTradeDownloadLinkById(\n                requestParameters?.downloadId,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<GetUmFuturesTradeDownloadLinkByIdResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get UM futures Transaction download link by Id\n     *\n     * Download link expiration: 7 days\n     *\n     * Weight: 10\n     *\n     * @summary Get UM Futures Transaction Download Link by Id(USER_DATA)\n     * @param {GetUmFuturesTransactionDownloadLinkByIdRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetUmFuturesTransactionDownloadLinkByIdResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Futures-Transaction-Download-Link-by-Id Binance API Documentation}\n     */\n    public async getUmFuturesTransactionDownloadLinkById(\n        requestParameters: GetUmFuturesTransactionDownloadLinkByIdRequest\n    ): Promise<RestApiResponse<GetUmFuturesTransactionDownloadLinkByIdResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.getUmFuturesTransactionDownloadLinkById(\n                requestParameters?.downloadId,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<GetUmFuturesTransactionDownloadLinkByIdResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get UM Income History\n     *\n     * If neither `startTime` nor `endTime` is sent, the recent 7-day data will be returned.\n     * If `incomeType` is not sent, all kinds of flow will be returned\n     * \"trandId\" is unique in the same incomeType for a user\n     * Income history only contains data for the last three months\n     *\n     * Weight: 30\n     *\n     * @summary Get UM Income History(USER_DATA)\n     * @param {GetUmIncomeHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetUmIncomeHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Income-History Binance API Documentation}\n     */\n    public async getUmIncomeHistory(\n        requestParameters: GetUmIncomeHistoryRequest = {}\n    ): Promise<RestApiResponse<GetUmIncomeHistoryResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getUmIncomeHistory(\n            requestParameters?.symbol,\n            requestParameters?.incomeType,\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.page,\n            requestParameters?.limit,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetUmIncomeHistoryResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get User Commission Rate for CM\n     *\n     * Weight: 20\n     *\n     * @summary Get User Commission Rate for CM(USER_DATA)\n     * @param {GetUserCommissionRateForCmRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetUserCommissionRateForCmResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-User-Commission-Rate-for-CM Binance API Documentation}\n     */\n    public async getUserCommissionRateForCm(\n        requestParameters: GetUserCommissionRateForCmRequest\n    ): Promise<RestApiResponse<GetUserCommissionRateForCmResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getUserCommissionRateForCm(\n            requestParameters?.symbol,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetUserCommissionRateForCmResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get User Commission Rate for UM\n     *\n     * Weight: 20\n     *\n     * @summary Get User Commission Rate for UM(USER_DATA)\n     * @param {GetUserCommissionRateForUmRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetUserCommissionRateForUmResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-User-Commission-Rate-for-UM Binance API Documentation}\n     */\n    public async getUserCommissionRateForUm(\n        requestParameters: GetUserCommissionRateForUmRequest\n    ): Promise<RestApiResponse<GetUserCommissionRateForUmResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getUserCommissionRateForUm(\n            requestParameters?.symbol,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetUserCommissionRateForUmResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query margin max borrow\n     *\n     * Weight: 5\n     *\n     * @summary Margin Max Borrow(USER_DATA)\n     * @param {MarginMaxBorrowRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<MarginMaxBorrowResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Margin-Max-Borrow Binance API Documentation}\n     */\n    public async marginMaxBorrow(\n        requestParameters: MarginMaxBorrowRequest\n    ): Promise<RestApiResponse<MarginMaxBorrowResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.marginMaxBorrow(\n            requestParameters?.asset,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<MarginMaxBorrowResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Portfolio Margin UM Trading Quantitative Rules Indicators\n     *\n     * Weight: 1 for a single symbol\n     * 10 when the symbol parameter is omitted\n     *\n     * @summary Portfolio Margin UM Trading Quantitative Rules Indicators(USER_DATA)\n     * @param {PortfolioMarginUmTradingQuantitativeRulesIndicatorsRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<PortfolioMarginUmTradingQuantitativeRulesIndicatorsResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Portfolio-Margin-UM-Trading-Quantitative-Rules-Indicators Binance API Documentation}\n     */\n    public async portfolioMarginUmTradingQuantitativeRulesIndicators(\n        requestParameters: PortfolioMarginUmTradingQuantitativeRulesIndicatorsRequest = {}\n    ): Promise<RestApiResponse<PortfolioMarginUmTradingQuantitativeRulesIndicatorsResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.portfolioMarginUmTradingQuantitativeRulesIndicators(\n                requestParameters?.symbol,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<PortfolioMarginUmTradingQuantitativeRulesIndicatorsResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get current CM position information.\n     *\n     * If neither `marginAsset` nor `pair` is sent, positions of all symbols with `TRADING` status will be returned.\n     * for One-way Mode user, the response will only show the \"BOTH\" positions\n     * for Hedge Mode user, the response will show \"LONG\", and \"SHORT\" positions.\n     * Please use with user data stream `ACCOUNT_UPDATE` to meet your timeliness and accuracy needs.\n     *\n     * Weight: 1\n     *\n     * @summary Query CM Position Information(USER_DATA)\n     * @param {QueryCmPositionInformationRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryCmPositionInformationResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-CM-Position-Information Binance API Documentation}\n     */\n    public async queryCmPositionInformation(\n        requestParameters: QueryCmPositionInformationRequest = {}\n    ): Promise<RestApiResponse<QueryCmPositionInformationResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryCmPositionInformation(\n            requestParameters?.marginAsset,\n            requestParameters?.pair,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryCmPositionInformationResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query margin loan record\n     *\n     * txId or startTime must be sent. txId takes precedence.\n     * Response in descending order\n     * The max interval between `startTime` and `endTime` is 30 days.\n     * If `startTime` and `endTime` not sent, return records of the last 7 days by default\n     * Set `archived` to `true` to query data from 6 months ago\n     *\n     * Weight: 10\n     *\n     * @summary Query Margin Loan Record(USER_DATA)\n     * @param {QueryMarginLoanRecordRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryMarginLoanRecordResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-Margin-Loan-Record Binance API Documentation}\n     */\n    public async queryMarginLoanRecord(\n        requestParameters: QueryMarginLoanRecordRequest\n    ): Promise<RestApiResponse<QueryMarginLoanRecordResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryMarginLoanRecord(\n            requestParameters?.asset,\n            requestParameters?.txId,\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.current,\n            requestParameters?.size,\n            requestParameters?.archived,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryMarginLoanRecordResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query Margin Max Withdraw\n     *\n     * Weight: 5\n     *\n     * @summary Query Margin Max Withdraw(USER_DATA)\n     * @param {QueryMarginMaxWithdrawRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryMarginMaxWithdrawResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-Margin-Max-Withdraw Binance API Documentation}\n     */\n    public async queryMarginMaxWithdraw(\n        requestParameters: QueryMarginMaxWithdrawRequest\n    ): Promise<RestApiResponse<QueryMarginMaxWithdrawResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryMarginMaxWithdraw(\n            requestParameters?.asset,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryMarginMaxWithdrawResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query margin repay record.\n     *\n     * txId or startTime must be sent. txId takes precedence.\n     * Response in descending order\n     * The max interval between `startTime` and `endTime` is 30 days.\n     * If `startTime` and `endTime` not sent, return records of the last 7 days by default\n     * Set `archived` to `true` to query data from 6 months ago\n     *\n     * Weight: 10\n     *\n     * @summary Query Margin repay Record(USER_DATA)\n     * @param {QueryMarginRepayRecordRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryMarginRepayRecordResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-Margin-repay-Record Binance API Documentation}\n     */\n    public async queryMarginRepayRecord(\n        requestParameters: QueryMarginRepayRecordRequest\n    ): Promise<RestApiResponse<QueryMarginRepayRecordResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryMarginRepayRecord(\n            requestParameters?.asset,\n            requestParameters?.txId,\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.current,\n            requestParameters?.size,\n            requestParameters?.archived,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryMarginRepayRecordResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query interest history of negative balance for portfolio margin.\n     *\n     * Response in descending order\n     * The max interval between startTime and endTime is 30 days. It is a MUST to ensure data correctness.\n     * If `startTime` and `endTime` not sent, return records of the last 7 days by default\n     * If `startTime` is sent and `endTime` is not sent, the records from `startTime` to the present will be returned; if `startTime` is more than 30 days ago, the records of the past 30 days will be returned.\n     * If `startTime` is not sent and `endTime` is sent, the records of the 7 days before `endTime` is returned.\n     *\n     * Weight: 50\n     *\n     * @summary Query Portfolio Margin Negative Balance Interest History(USER_DATA)\n     * @param {QueryPortfolioMarginNegativeBalanceInterestHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryPortfolioMarginNegativeBalanceInterestHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-Portfolio-Margin-Negative-Balance-Interest-History Binance API Documentation}\n     */\n    public async queryPortfolioMarginNegativeBalanceInterestHistory(\n        requestParameters: QueryPortfolioMarginNegativeBalanceInterestHistoryRequest = {}\n    ): Promise<RestApiResponse<QueryPortfolioMarginNegativeBalanceInterestHistoryResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.queryPortfolioMarginNegativeBalanceInterestHistory(\n                requestParameters?.asset,\n                requestParameters?.startTime,\n                requestParameters?.endTime,\n                requestParameters?.size,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<QueryPortfolioMarginNegativeBalanceInterestHistoryResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get current UM position information.\n     *\n     * Please use with user data stream `ACCOUNT_UPDATE` to meet your timeliness and accuracy needs.\n     * for One-way Mode user, the response will only show the \"BOTH\" positions\n     * for Hedge Mode user, the response will show \"LONG\", and \"SHORT\" positions.\n     *\n     * Weight: 5\n     *\n     * @summary Query UM Position Information(USER_DATA)\n     * @param {QueryUmPositionInformationRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryUmPositionInformationResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-UM-Position-Information Binance API Documentation}\n     */\n    public async queryUmPositionInformation(\n        requestParameters: QueryUmPositionInformationRequest = {}\n    ): Promise<RestApiResponse<QueryUmPositionInformationResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryUmPositionInformation(\n            requestParameters?.symbol,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryUmPositionInformationResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query user negative balance auto exchange record\n     *\n     * Response in descending order\n     * The max interval between `startTime` and `endTime` is 3 months.\n     *\n     * Weight: 100\n     *\n     * @summary Query User Negative Balance Auto Exchange Record (USER_DATA)\n     * @param {QueryUserNegativeBalanceAutoExchangeRecordRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryUserNegativeBalanceAutoExchangeRecordResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-User-Negative-Balance-Auto-Exchange-Record Binance API Documentation}\n     */\n    public async queryUserNegativeBalanceAutoExchangeRecord(\n        requestParameters: QueryUserNegativeBalanceAutoExchangeRecordRequest\n    ): Promise<RestApiResponse<QueryUserNegativeBalanceAutoExchangeRecordResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.queryUserNegativeBalanceAutoExchangeRecord(\n                requestParameters?.startTime,\n                requestParameters?.endTime,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<QueryUserNegativeBalanceAutoExchangeRecordResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query User Rate Limit\n     *\n     * Weight: 1\n     *\n     * @summary Query User Rate Limit (USER_DATA)\n     * @param {QueryUserRateLimitRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryUserRateLimitResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-User-Rate-Limit Binance API Documentation}\n     */\n    public async queryUserRateLimit(\n        requestParameters: QueryUserRateLimitRequest = {}\n    ): Promise<RestApiResponse<QueryUserRateLimitResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryUserRateLimit(\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryUserRateLimitResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Repay futures Negative Balance\n     *\n     * Weight: 750\n     *\n     * @summary Repay futures Negative Balance(USER_DATA)\n     * @param {RepayFuturesNegativeBalanceRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<RepayFuturesNegativeBalanceResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Repay-futures-Negative-Balance Binance API Documentation}\n     */\n    public async repayFuturesNegativeBalance(\n        requestParameters: RepayFuturesNegativeBalanceRequest = {}\n    ): Promise<RestApiResponse<RepayFuturesNegativeBalanceResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.repayFuturesNegativeBalance(\n            requestParameters?.recvWindow\n        );\n        return sendRequest<RepayFuturesNegativeBalanceResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query UM Futures account configuration\n     *\n     * Weight: 5\n     *\n     * @summary UM Futures Account Configuration(USER_DATA)\n     * @param {UmFuturesAccountConfigurationRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<UmFuturesAccountConfigurationResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Futures-Account-Config Binance API Documentation}\n     */\n    public async umFuturesAccountConfiguration(\n        requestParameters: UmFuturesAccountConfigurationRequest = {}\n    ): Promise<RestApiResponse<UmFuturesAccountConfigurationResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.umFuturesAccountConfiguration(\n                requestParameters?.recvWindow\n            );\n        return sendRequest<UmFuturesAccountConfigurationResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get current UM account symbol configuration.\n     *\n     * Weight: 5\n     *\n     * @summary UM Futures Symbol Configuration(USER_DATA)\n     * @param {UmFuturesSymbolConfigurationRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<UmFuturesSymbolConfigurationResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Futures-Symbol-Config Binance API Documentation}\n     */\n    public async umFuturesSymbolConfiguration(\n        requestParameters: UmFuturesSymbolConfigurationRequest = {}\n    ): Promise<RestApiResponse<UmFuturesSymbolConfigurationResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.umFuturesSymbolConfiguration(\n            requestParameters?.symbol,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<UmFuturesSymbolConfigurationResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query UM notional and leverage brackets\n     *\n     * Weight: 1\n     *\n     * @summary UM Notional and Leverage Brackets (USER_DATA)\n     * @param {UmNotionalAndLeverageBracketsRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<UmNotionalAndLeverageBracketsResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/UM-Notional-and-Leverage-Brackets Binance API Documentation}\n     */\n    public async umNotionalAndLeverageBrackets(\n        requestParameters: UmNotionalAndLeverageBracketsRequest = {}\n    ): Promise<RestApiResponse<UmNotionalAndLeverageBracketsResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.umNotionalAndLeverageBrackets(\n                requestParameters?.symbol,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<UmNotionalAndLeverageBracketsResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n}\n","/**\n * Binance Derivatives Trading Portfolio Margin REST API\n *\n * OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin REST API\n *\n * The version of the OpenAPI document: 1.0.0\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport {\n    ConfigurationRestAPI,\n    TimeUnit,\n    RestApiResponse,\n    sendRequest,\n    type RequestArgs,\n} from '@binance/common';\nimport type {} from '../types';\n\n/**\n * MarketDataApi - axios parameter creator\n */\nconst MarketDataApiAxiosParamCreator = function (configuration: ConfigurationRestAPI) {\n    return {\n        /**\n         * Test connectivity to the Rest API.\n         *\n         * Weight: 1\n         *\n         * @summary Test Connectivity\n         *\n         * @throws {RequiredError}\n         */\n        testConnectivity: async (): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/ping',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n    };\n};\n\n/**\n * MarketDataApi - interface\n * @interface MarketDataApi\n */\nexport interface MarketDataApiInterface {\n    /**\n     * Test connectivity to the Rest API.\n     *\n     * Weight: 1\n     *\n     * @summary Test Connectivity\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof MarketDataApiInterface\n     */\n    testConnectivity(): Promise<RestApiResponse<void>>;\n}\n\n/**\n * MarketDataApi - object-oriented interface\n * @class MarketDataApi\n */\nexport class MarketDataApi implements MarketDataApiInterface {\n    private readonly configuration: ConfigurationRestAPI;\n    private localVarAxiosParamCreator;\n\n    constructor(configuration: ConfigurationRestAPI) {\n        this.configuration = configuration;\n        this.localVarAxiosParamCreator = MarketDataApiAxiosParamCreator(configuration);\n    }\n\n    /**\n     * Test connectivity to the Rest API.\n     *\n     * Weight: 1\n     *\n     * @summary Test Connectivity\n     * @returns {Promise<RestApiResponse<void>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof MarketDataApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/market-data/Test-Connectivity Binance API Documentation}\n     */\n    public async testConnectivity(): Promise<RestApiResponse<void>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.testConnectivity();\n        return sendRequest<void>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: false }\n        );\n    }\n}\n","/**\n * Binance Derivatives Trading Portfolio Margin REST API\n *\n * OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin REST API\n *\n * The version of the OpenAPI document: 1.0.0\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport {\n    ConfigurationRestAPI,\n    TimeUnit,\n    RestApiResponse,\n    assertParamExists,\n    sendRequest,\n    type RequestArgs,\n} from '@binance/common';\nimport type {\n    CancelAllCmOpenConditionalOrdersResponse,\n    CancelAllCmOpenOrdersResponse,\n    CancelAllUmAlgoOpenOrdersResponse,\n    CancelAllUmOpenConditionalOrdersResponse,\n    CancelAllUmOpenOrdersResponse,\n    CancelCmConditionalOrderResponse,\n    CancelCmOrderResponse,\n    CancelMarginAccountAllOpenOrdersOnASymbolResponse,\n    CancelMarginAccountOcoOrdersResponse,\n    CancelMarginAccountOrderResponse,\n    CancelUmAlgoOrderResponse,\n    CancelUmConditionalOrderResponse,\n    CancelUmOrderResponse,\n    CmAccountTradeListResponse,\n    CmPositionAdlQuantileEstimationResponse,\n    FuturesTradfiPerpsContractResponse,\n    GetUmFuturesBnbBurnStatusResponse,\n    MarginAccountBorrowResponse,\n    MarginAccountNewOcoResponse,\n    MarginAccountRepayDebtResponse,\n    MarginAccountRepayResponse,\n    MarginAccountTradeListResponse,\n    ModifyCmOrderResponse,\n    ModifyUmOrderResponse,\n    NewCmConditionalOrderResponse,\n    NewCmOrderResponse,\n    NewMarginOrderResponse,\n    NewUmAlgoOrderResponse,\n    NewUmConditionalOrderResponse,\n    NewUmOrderResponse,\n    QueryAllCmConditionalOrdersResponse,\n    QueryAllCmOrdersResponse,\n    QueryAllCurrentCmOpenConditionalOrdersResponse,\n    QueryAllCurrentCmOpenOrdersResponse,\n    QueryAllCurrentUmOpenAlgoOrdersResponse,\n    QueryAllCurrentUmOpenConditionalOrdersResponse,\n    QueryAllCurrentUmOpenOrdersResponse,\n    QueryAllMarginAccountOrdersResponse,\n    QueryAllUmConditionalOrdersResponse,\n    QueryAllUmOrdersResponse,\n    QueryCmConditionalOrderHistoryResponse,\n    QueryCmModifyOrderHistoryResponse,\n    QueryCmOrderResponse,\n    QueryCurrentCmOpenConditionalOrderResponse,\n    QueryCurrentCmOpenOrderResponse,\n    QueryCurrentMarginOpenOrderResponse,\n    QueryCurrentUmOpenAlgoOrderResponse,\n    QueryCurrentUmOpenConditionalOrderResponse,\n    QueryCurrentUmOpenOrderResponse,\n    QueryMarginAccountOrderResponse,\n    QueryMarginAccountsAllOcoResponse,\n    QueryMarginAccountsOcoResponse,\n    QueryMarginAccountsOpenOcoResponse,\n    QueryUmAlgoOrderHistoryResponse,\n    QueryUmConditionalOrderHistoryResponse,\n    QueryUmModifyOrderHistoryResponse,\n    QueryUmOrderResponse,\n    QueryUsersCmForceOrdersResponse,\n    QueryUsersMarginForceOrdersResponse,\n    QueryUsersUmForceOrdersResponse,\n    ToggleBnbBurnOnUmFuturesTradeResponse,\n    UmAccountTradeListResponse,\n    UmPositionAdlQuantileEstimationResponse,\n} from '../types';\n\n/**\n * TradeApi - axios parameter creator\n */\nconst TradeApiAxiosParamCreator = function (configuration: ConfigurationRestAPI) {\n    return {\n        /**\n         * Cancel All CM Open Conditional Orders\n         *\n         * Weight: 1\n         *\n         * @summary Cancel All CM Open Conditional Orders(TRADE)\n         * @param {string} symbol\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        cancelAllCmOpenConditionalOrders: async (\n            symbol: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('cancelAllCmOpenConditionalOrders', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/conditional/allOpenOrders',\n                method: 'DELETE',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Cancel all active LIMIT orders on specific symbol\n         *\n         * Weight: 1\n         *\n         * @summary Cancel All CM Open Orders(TRADE)\n         * @param {string} symbol\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        cancelAllCmOpenOrders: async (\n            symbol: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('cancelAllCmOpenOrders', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/allOpenOrders',\n                method: 'DELETE',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Cancel All UM Algo Open Orders\n         *\n         * Weight: 1\n         *\n         * @summary Cancel All UM Algo Open Orders (TRADE)\n         * @param {string} symbol\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        cancelAllUmAlgoOpenOrders: async (\n            symbol: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('cancelAllUmAlgoOpenOrders', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/algo/allOpenOrders',\n                method: 'DELETE',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Cancel All UM Open Conditional Orders\n         *\n         * Weight: 1\n         *\n         * @summary Cancel All UM Open Conditional Orders\n         * @param {string} symbol\n         * @param {number | bigint} [recvWindow]\n         *\n         * @deprecated\n         * @throws {RequiredError}\n         */\n        cancelAllUmOpenConditionalOrders: async (\n            symbol: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('cancelAllUmOpenConditionalOrders', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/conditional/allOpenOrders',\n                method: 'DELETE',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Cancel all active LIMIT orders on specific symbol\n         *\n         * Weight: 1\n         *\n         * @summary Cancel All UM Open Orders(TRADE)\n         * @param {string} symbol\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        cancelAllUmOpenOrders: async (\n            symbol: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('cancelAllUmOpenOrders', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/allOpenOrders',\n                method: 'DELETE',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Cancel CM Conditional Order\n         *\n         * Either `strategyId` or `newClientStrategyId` must be sent.\n         *\n         * Weight: 1\n         *\n         * @summary Cancel CM Conditional Order(TRADE)\n         * @param {string} symbol\n         * @param {number | bigint} [strategyId]\n         * @param {string} [newClientStrategyId]\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        cancelCmConditionalOrder: async (\n            symbol: string,\n            strategyId?: number | bigint,\n            newClientStrategyId?: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('cancelCmConditionalOrder', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (strategyId !== undefined && strategyId !== null) {\n                localVarQueryParameter['strategyId'] = strategyId;\n            }\n            if (newClientStrategyId !== undefined && newClientStrategyId !== null) {\n                localVarQueryParameter['newClientStrategyId'] = newClientStrategyId;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/conditional/order',\n                method: 'DELETE',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Cancel an active LIMIT order\n         *\n         * Either `orderId` or `origClientOrderId` must be sent.\n         *\n         * Weight: 1\n         *\n         * @summary Cancel CM Order(TRADE)\n         * @param {string} symbol\n         * @param {number | bigint} [orderId]\n         * @param {string} [origClientOrderId]\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        cancelCmOrder: async (\n            symbol: string,\n            orderId?: number | bigint,\n            origClientOrderId?: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('cancelCmOrder', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (orderId !== undefined && orderId !== null) {\n                localVarQueryParameter['orderId'] = orderId;\n            }\n            if (origClientOrderId !== undefined && origClientOrderId !== null) {\n                localVarQueryParameter['origClientOrderId'] = origClientOrderId;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/order',\n                method: 'DELETE',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Cancel Margin Account All Open Orders on a Symbol\n         *\n         * Weight: 5\n         *\n         * @summary Cancel Margin Account All Open Orders on a Symbol(TRADE)\n         * @param {string} symbol\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        cancelMarginAccountAllOpenOrdersOnASymbol: async (\n            symbol: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('cancelMarginAccountAllOpenOrdersOnASymbol', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/margin/allOpenOrders',\n                method: 'DELETE',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Cancel Margin Account OCO Orders\n         *\n         * Additional notes: Canceling an individual leg will cancel the entire OCO\n         *\n         * Weight: 2\n         *\n         * @summary Cancel Margin Account OCO Orders(TRADE)\n         * @param {string} symbol\n         * @param {number | bigint} [orderListId] Either `orderListId` or `listClientOrderId` must be provided\n         * @param {string} [listClientOrderId] Either `orderListId` or `listClientOrderId` must be provided\n         * @param {string} [newClientOrderId] Used to uniquely identify this cancel. Automatically generated by default\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        cancelMarginAccountOcoOrders: async (\n            symbol: string,\n            orderListId?: number | bigint,\n            listClientOrderId?: string,\n            newClientOrderId?: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('cancelMarginAccountOcoOrders', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (orderListId !== undefined && orderListId !== null) {\n                localVarQueryParameter['orderListId'] = orderListId;\n            }\n            if (listClientOrderId !== undefined && listClientOrderId !== null) {\n                localVarQueryParameter['listClientOrderId'] = listClientOrderId;\n            }\n            if (newClientOrderId !== undefined && newClientOrderId !== null) {\n                localVarQueryParameter['newClientOrderId'] = newClientOrderId;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/margin/orderList',\n                method: 'DELETE',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Cancel Margin Account Order\n         *\n         * Either `orderId` or `origClientOrderId` must be sent.\n         *\n         * Weight: 2\n         *\n         * @summary Cancel Margin Account Order(TRADE)\n         * @param {string} symbol\n         * @param {number | bigint} [orderId]\n         * @param {string} [origClientOrderId]\n         * @param {string} [newClientOrderId] Used to uniquely identify this cancel. Automatically generated by default\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        cancelMarginAccountOrder: async (\n            symbol: string,\n            orderId?: number | bigint,\n            origClientOrderId?: string,\n            newClientOrderId?: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('cancelMarginAccountOrder', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (orderId !== undefined && orderId !== null) {\n                localVarQueryParameter['orderId'] = orderId;\n            }\n            if (origClientOrderId !== undefined && origClientOrderId !== null) {\n                localVarQueryParameter['origClientOrderId'] = origClientOrderId;\n            }\n            if (newClientOrderId !== undefined && newClientOrderId !== null) {\n                localVarQueryParameter['newClientOrderId'] = newClientOrderId;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/margin/order',\n                method: 'DELETE',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Cancel an active UM algo order.\n         *\n         * Either `algoId` or `clientAlgoId` must be sent.\n         *\n         * Weight: 1\n         *\n         * @summary Cancel UM Algo Order (TRADE)\n         * @param {number | bigint} [algoId]\n         * @param {string} [clientAlgoId]\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        cancelUmAlgoOrder: async (\n            algoId?: number | bigint,\n            clientAlgoId?: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (algoId !== undefined && algoId !== null) {\n                localVarQueryParameter['algoId'] = algoId;\n            }\n            if (clientAlgoId !== undefined && clientAlgoId !== null) {\n                localVarQueryParameter['clientAlgoId'] = clientAlgoId;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/algo/order',\n                method: 'DELETE',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Cancel UM Conditional Order\n         *\n         * Either `strategyId` or `newClientStrategyId` must be sent.\n         *\n         * Weight: 1\n         *\n         * @summary Cancel UM Conditional Order\n         * @param {string} symbol\n         * @param {number | bigint} [strategyId]\n         * @param {string} [newClientStrategyId]\n         * @param {number | bigint} [recvWindow]\n         *\n         * @deprecated\n         * @throws {RequiredError}\n         */\n        cancelUmConditionalOrder: async (\n            symbol: string,\n            strategyId?: number | bigint,\n            newClientStrategyId?: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('cancelUmConditionalOrder', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (strategyId !== undefined && strategyId !== null) {\n                localVarQueryParameter['strategyId'] = strategyId;\n            }\n            if (newClientStrategyId !== undefined && newClientStrategyId !== null) {\n                localVarQueryParameter['newClientStrategyId'] = newClientStrategyId;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/conditional/order',\n                method: 'DELETE',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Cancel an active UM LIMIT order\n         *\n         * Either `orderId` or `origClientOrderId` must be sent.\n         *\n         * Weight: 1\n         *\n         * @summary Cancel UM Order(TRADE)\n         * @param {string} symbol\n         * @param {number | bigint} [orderId]\n         * @param {string} [origClientOrderId]\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        cancelUmOrder: async (\n            symbol: string,\n            orderId?: number | bigint,\n            origClientOrderId?: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('cancelUmOrder', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (orderId !== undefined && orderId !== null) {\n                localVarQueryParameter['orderId'] = orderId;\n            }\n            if (origClientOrderId !== undefined && origClientOrderId !== null) {\n                localVarQueryParameter['origClientOrderId'] = origClientOrderId;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/order',\n                method: 'DELETE',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get trades for a specific account and CM symbol.\n         *\n         * Either `symbol` or `pair` must be sent\n         * `symbol` and `pair` cannot be sent together\n         * `pair` and `fromId` cannot be sent together\n         * `OrderId` can only be sent together with symbol\n         * If a `pair` is sent, tickers for all symbols of the `pair` will be returned\n         * The parameter `fromId` cannot be sent with `startTime` or `endTime`\n         * If `startTime` and `endTime` are both not sent, then the last '24 hours' data will be returned.\n         * The time between `startTime` and `endTime` cannot be longer than 24 hours.\n         *\n         * Weight: 20 with symbol, 40 with pair\n         *\n         * @summary CM Account Trade List(USER_DATA)\n         * @param {string} [symbol]\n         * @param {string} [pair]\n         * @param {number | bigint} [startTime] Timestamp in ms to get funding from INCLUSIVE.\n         * @param {number | bigint} [endTime] Timestamp in ms to get funding until INCLUSIVE.\n         * @param {number | bigint} [fromId] Trade id to fetch from. Default gets most recent trades.\n         * @param {number | bigint} [limit] Default 100; max 1000\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        cmAccountTradeList: async (\n            symbol?: string,\n            pair?: string,\n            startTime?: number | bigint,\n            endTime?: number | bigint,\n            fromId?: number | bigint,\n            limit?: number | bigint,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (pair !== undefined && pair !== null) {\n                localVarQueryParameter['pair'] = pair;\n            }\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n            if (fromId !== undefined && fromId !== null) {\n                localVarQueryParameter['fromId'] = fromId;\n            }\n            if (limit !== undefined && limit !== null) {\n                localVarQueryParameter['limit'] = limit;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/userTrades',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query CM Position ADL Quantile Estimation\n         * Values update every 30s.\n         * Values 0, 1, 2, 3, 4 shows the queue position and possibility of ADL from low to high.\n         * For positions of the symbol are in One-way Mode or isolated margined in Hedge Mode, \"LONG\", \"SHORT\", and \"BOTH\" will be returned to show the positions' adl quantiles of different position sides.\n         * If the positions of the symbol are crossed margined in Hedge Mode:\n         * \"HEDGE\" as a sign will be returned instead of \"BOTH\";\n         * A same value caculated on unrealized pnls on long and short sides' positions will be shown for \"LONG\" and \"SHORT\" when there are positions in both of long and short sides.\n         *\n         * Weight: 5\n         *\n         * @summary CM Position ADL Quantile Estimation(USER_DATA)\n         * @param {string} [symbol]\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        cmPositionAdlQuantileEstimation: async (\n            symbol?: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/adlQuantile',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Sign TradFi-Perps agreement contract\n         *\n         * Weight: 5\n         *\n         * @summary Futures TradFi Perps Contract(USER_DATA)\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        futuresTradfiPerpsContract: async (recvWindow?: number | bigint): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/stock/contract',\n                method: 'POST',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get user's BNB Fee Discount for UM Futures (Fee Discount On or Fee Discount Off )\n         *\n         * Weight: 30\n         *\n         * @summary Get UM Futures BNB Burn Status (USER_DATA)\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getUmFuturesBnbBurnStatus: async (recvWindow?: number | bigint): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/feeBurn',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Apply for a margin loan.\n         *\n         * Weight: 100\n         *\n         * @summary Margin Account Borrow(MARGIN)\n         * @param {string} asset\n         * @param {number} amount\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        marginAccountBorrow: async (\n            asset: string,\n            amount: number,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'asset' is not null or undefined\n            assertParamExists('marginAccountBorrow', 'asset', asset);\n            // verify required parameter 'amount' is not null or undefined\n            assertParamExists('marginAccountBorrow', 'amount', amount);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (asset !== undefined && asset !== null) {\n                localVarQueryParameter['asset'] = asset;\n            }\n            if (amount !== undefined && amount !== null) {\n                localVarQueryParameter['amount'] = amount;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/marginLoan',\n                method: 'POST',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Send in a new OCO for a margin account\n         *\n         * Price Restrictions:\n         * `SELL`: Limit Price > Last Price > Stop Price\n         * `BUY`: Limit Price < Last Price < Stop Price\n         * Quantity Restrictions:\n         * Both legs must have the same quantity\n         * `ICEBERG` quantities however do not have to be the same.\n         * Order Rate Limit\n         * `OCO` counts as 2 orders against the order rate limit.\n         *\n         * Weight: 1\n         *\n         * @summary Margin Account New OCO(TRADE)\n         * @param {string} symbol\n         * @param {MarginAccountNewOcoSideEnum} side\n         * @param {number} quantity Order quantity\n         * @param {number} price\n         * @param {number} stopPrice\n         * @param {string} [listClientOrderId] Either `orderListId` or `listClientOrderId` must be provided\n         * @param {string} [limitClientOrderId] A unique Id for the limit order\n         * @param {number} [limitIcebergQty]\n         * @param {string} [stopClientOrderId] A unique Id for the stop loss/stop loss limit leg\n         * @param {number} [stopLimitPrice] If provided, stopLimitTimeInForce is required.\n         * @param {number} [stopIcebergQty]\n         * @param {MarginAccountNewOcoStopLimitTimeInForceEnum} [stopLimitTimeInForce] Valid values are `GTC/FOK/IOC`\n         * @param {MarginAccountNewOcoNewOrderRespTypeEnum} [newOrderRespType] \"ACK\", \"RESULT\", default \"ACK\"\n         * @param {MarginAccountNewOcoSideEffectTypeEnum} [sideEffectType] NO_SIDE_EFFECT, MARGIN_BUY, AUTO_REPAY; default NO_SIDE_EFFECT.\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        marginAccountNewOco: async (\n            symbol: string,\n            side: MarginAccountNewOcoSideEnum,\n            quantity: number,\n            price: number,\n            stopPrice: number,\n            listClientOrderId?: string,\n            limitClientOrderId?: string,\n            limitIcebergQty?: number,\n            stopClientOrderId?: string,\n            stopLimitPrice?: number,\n            stopIcebergQty?: number,\n            stopLimitTimeInForce?: MarginAccountNewOcoStopLimitTimeInForceEnum,\n            newOrderRespType?: MarginAccountNewOcoNewOrderRespTypeEnum,\n            sideEffectType?: MarginAccountNewOcoSideEffectTypeEnum,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('marginAccountNewOco', 'symbol', symbol);\n            // verify required parameter 'side' is not null or undefined\n            assertParamExists('marginAccountNewOco', 'side', side);\n            // verify required parameter 'quantity' is not null or undefined\n            assertParamExists('marginAccountNewOco', 'quantity', quantity);\n            // verify required parameter 'price' is not null or undefined\n            assertParamExists('marginAccountNewOco', 'price', price);\n            // verify required parameter 'stopPrice' is not null or undefined\n            assertParamExists('marginAccountNewOco', 'stopPrice', stopPrice);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (listClientOrderId !== undefined && listClientOrderId !== null) {\n                localVarQueryParameter['listClientOrderId'] = listClientOrderId;\n            }\n            if (side !== undefined && side !== null) {\n                localVarQueryParameter['side'] = side;\n            }\n            if (quantity !== undefined && quantity !== null) {\n                localVarQueryParameter['quantity'] = quantity;\n            }\n            if (limitClientOrderId !== undefined && limitClientOrderId !== null) {\n                localVarQueryParameter['limitClientOrderId'] = limitClientOrderId;\n            }\n            if (price !== undefined && price !== null) {\n                localVarQueryParameter['price'] = price;\n            }\n            if (limitIcebergQty !== undefined && limitIcebergQty !== null) {\n                localVarQueryParameter['limitIcebergQty'] = limitIcebergQty;\n            }\n            if (stopClientOrderId !== undefined && stopClientOrderId !== null) {\n                localVarQueryParameter['stopClientOrderId'] = stopClientOrderId;\n            }\n            if (stopPrice !== undefined && stopPrice !== null) {\n                localVarQueryParameter['stopPrice'] = stopPrice;\n            }\n            if (stopLimitPrice !== undefined && stopLimitPrice !== null) {\n                localVarQueryParameter['stopLimitPrice'] = stopLimitPrice;\n            }\n            if (stopIcebergQty !== undefined && stopIcebergQty !== null) {\n                localVarQueryParameter['stopIcebergQty'] = stopIcebergQty;\n            }\n            if (stopLimitTimeInForce !== undefined && stopLimitTimeInForce !== null) {\n                localVarQueryParameter['stopLimitTimeInForce'] = stopLimitTimeInForce;\n            }\n            if (newOrderRespType !== undefined && newOrderRespType !== null) {\n                localVarQueryParameter['newOrderRespType'] = newOrderRespType;\n            }\n            if (sideEffectType !== undefined && sideEffectType !== null) {\n                localVarQueryParameter['sideEffectType'] = sideEffectType;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/margin/order/oco',\n                method: 'POST',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Repay for a margin loan.\n         *\n         * Weight: 100\n         *\n         * @summary Margin Account Repay(MARGIN)\n         * @param {string} asset\n         * @param {number} amount\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        marginAccountRepay: async (\n            asset: string,\n            amount: number,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'asset' is not null or undefined\n            assertParamExists('marginAccountRepay', 'asset', asset);\n            // verify required parameter 'amount' is not null or undefined\n            assertParamExists('marginAccountRepay', 'amount', amount);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (asset !== undefined && asset !== null) {\n                localVarQueryParameter['asset'] = asset;\n            }\n            if (amount !== undefined && amount !== null) {\n                localVarQueryParameter['amount'] = amount;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/repayLoan',\n                method: 'POST',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Repay debt for a margin loan.\n         *\n         * The repay asset amount cannot exceed 50000 USD equivalent value for a single request.\n         * If `amount` is not sent, all the asset loan will be repaid if having enough specific repay assets.\n         * If `amount` is sent, only the certain amount of the asset loan will be repaid if having enough specific repay assets.\n         * The system will use the same asset to repay the loan first (if have) no matter whether put the asset in `specifyRepayAssets`\n         *\n         * Weight: 3000\n         *\n         * @summary Margin Account Repay Debt(TRADE)\n         * @param {string} asset\n         * @param {string} [amount]\n         * @param {string} [specifyRepayAssets] Specific asset list to repay debt; Can be added in batch, separated by commas\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        marginAccountRepayDebt: async (\n            asset: string,\n            amount?: string,\n            specifyRepayAssets?: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'asset' is not null or undefined\n            assertParamExists('marginAccountRepayDebt', 'asset', asset);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (asset !== undefined && asset !== null) {\n                localVarQueryParameter['asset'] = asset;\n            }\n            if (amount !== undefined && amount !== null) {\n                localVarQueryParameter['amount'] = amount;\n            }\n            if (specifyRepayAssets !== undefined && specifyRepayAssets !== null) {\n                localVarQueryParameter['specifyRepayAssets'] = specifyRepayAssets;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/margin/repay-debt',\n                method: 'POST',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Margin Account Trade List\n         *\n         * Weight: 5\n         *\n         * @summary Margin Account Trade List (USER_DATA)\n         * @param {string} symbol\n         * @param {number | bigint} [orderId]\n         * @param {number | bigint} [startTime] Timestamp in ms to get funding from INCLUSIVE.\n         * @param {number | bigint} [endTime] Timestamp in ms to get funding until INCLUSIVE.\n         * @param {number | bigint} [fromId] Trade id to fetch from. Default gets most recent trades.\n         * @param {number | bigint} [limit] Default 100; max 1000\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        marginAccountTradeList: async (\n            symbol: string,\n            orderId?: number | bigint,\n            startTime?: number | bigint,\n            endTime?: number | bigint,\n            fromId?: number | bigint,\n            limit?: number | bigint,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('marginAccountTradeList', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (orderId !== undefined && orderId !== null) {\n                localVarQueryParameter['orderId'] = orderId;\n            }\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n            if (fromId !== undefined && fromId !== null) {\n                localVarQueryParameter['fromId'] = fromId;\n            }\n            if (limit !== undefined && limit !== null) {\n                localVarQueryParameter['limit'] = limit;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/margin/myTrades',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Order modify function, currently only LIMIT order modification is supported, modified orders will be reordered in the match queue\n         *\n         * Either `orderId` or `origClientOrderId` must be sent, and the `orderId` will prevail if both are sent.\n         * Both `quantity` and `price` must be sent\n         * When the new `quantity` or `price` doesn't satisfy PRICE_FILTER / PERCENT_FILTER / LOT_SIZE, amendment will be rejected and the order will stay as it is.\n         * However the order will be cancelled by the amendment in the following situations:\n         * when the order is in partially filled status and the new `quantity` <= `executedQty`\n         * When the order is `GTX` and the new price will cause it to be executed immediately\n         *\n         * Weight: 1\n         *\n         * @summary Modify CM Order(TRADE)\n         * @param {string} symbol\n         * @param {ModifyCmOrderSideEnum} side\n         * @param {number} quantity Order quantity\n         * @param {number} price\n         * @param {number | bigint} [orderId]\n         * @param {string} [origClientOrderId]\n         * @param {ModifyCmOrderPriceMatchEnum} [priceMatch] only avaliable for `LIMIT`/`STOP`/`TAKE_PROFIT` order; can be set to `OPPONENT`/ `OPPONENT_5`/ `OPPONENT_10`/ `OPPONENT_20`: /`QUEUE`/ `QUEUE_5`/ `QUEUE_10`/ `QUEUE_20`; Can't be passed together with `price`\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        modifyCmOrder: async (\n            symbol: string,\n            side: ModifyCmOrderSideEnum,\n            quantity: number,\n            price: number,\n            orderId?: number | bigint,\n            origClientOrderId?: string,\n            priceMatch?: ModifyCmOrderPriceMatchEnum,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('modifyCmOrder', 'symbol', symbol);\n            // verify required parameter 'side' is not null or undefined\n            assertParamExists('modifyCmOrder', 'side', side);\n            // verify required parameter 'quantity' is not null or undefined\n            assertParamExists('modifyCmOrder', 'quantity', quantity);\n            // verify required parameter 'price' is not null or undefined\n            assertParamExists('modifyCmOrder', 'price', price);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (orderId !== undefined && orderId !== null) {\n                localVarQueryParameter['orderId'] = orderId;\n            }\n            if (origClientOrderId !== undefined && origClientOrderId !== null) {\n                localVarQueryParameter['origClientOrderId'] = origClientOrderId;\n            }\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (side !== undefined && side !== null) {\n                localVarQueryParameter['side'] = side;\n            }\n            if (quantity !== undefined && quantity !== null) {\n                localVarQueryParameter['quantity'] = quantity;\n            }\n            if (price !== undefined && price !== null) {\n                localVarQueryParameter['price'] = price;\n            }\n            if (priceMatch !== undefined && priceMatch !== null) {\n                localVarQueryParameter['priceMatch'] = priceMatch;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/order',\n                method: 'PUT',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Order modify function, currently only LIMIT order modification is supported, modified orders will be reordered in the match queue\n         *\n         * Either orderId or origClientOrderId must be sent, and the orderId will prevail if both are sent.\n         * Both quantity and price must be sent\n         * When the new quantity or price doesn't satisfy PRICE_FILTER / PERCENT_FILTER / LOT_SIZE, amendment will be rejected and the order will stay as it is.\n         * However the order will be cancelled by the amendment in the following situations:\n         * when the order is in partially filled status and the new quantity <= executedQty\n         * When the order is GTX and the new price will cause it to be executed immediately\n         *\n         * Weight: 1\n         *\n         * @summary Modify UM Order(TRADE)\n         * @param {string} symbol\n         * @param {ModifyUmOrderSideEnum} side\n         * @param {number} quantity Order quantity\n         * @param {number} price\n         * @param {number | bigint} [orderId]\n         * @param {string} [origClientOrderId]\n         * @param {ModifyUmOrderPriceMatchEnum} [priceMatch] only avaliable for `LIMIT`/`STOP`/`TAKE_PROFIT` order; can be set to `OPPONENT`/ `OPPONENT_5`/ `OPPONENT_10`/ `OPPONENT_20`: /`QUEUE`/ `QUEUE_5`/ `QUEUE_10`/ `QUEUE_20`; Can't be passed together with `price`\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        modifyUmOrder: async (\n            symbol: string,\n            side: ModifyUmOrderSideEnum,\n            quantity: number,\n            price: number,\n            orderId?: number | bigint,\n            origClientOrderId?: string,\n            priceMatch?: ModifyUmOrderPriceMatchEnum,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('modifyUmOrder', 'symbol', symbol);\n            // verify required parameter 'side' is not null or undefined\n            assertParamExists('modifyUmOrder', 'side', side);\n            // verify required parameter 'quantity' is not null or undefined\n            assertParamExists('modifyUmOrder', 'quantity', quantity);\n            // verify required parameter 'price' is not null or undefined\n            assertParamExists('modifyUmOrder', 'price', price);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (orderId !== undefined && orderId !== null) {\n                localVarQueryParameter['orderId'] = orderId;\n            }\n            if (origClientOrderId !== undefined && origClientOrderId !== null) {\n                localVarQueryParameter['origClientOrderId'] = origClientOrderId;\n            }\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (side !== undefined && side !== null) {\n                localVarQueryParameter['side'] = side;\n            }\n            if (quantity !== undefined && quantity !== null) {\n                localVarQueryParameter['quantity'] = quantity;\n            }\n            if (price !== undefined && price !== null) {\n                localVarQueryParameter['price'] = price;\n            }\n            if (priceMatch !== undefined && priceMatch !== null) {\n                localVarQueryParameter['priceMatch'] = priceMatch;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/order',\n                method: 'PUT',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * New CM Conditional Order\n         *\n         * Order with type `STOP/TAKE_PROFIT`, parameter `timeInForce` can be sent ( default `GTC`).\n         * Condition orders will be triggered when:\n         * `STOP`, `STOP_MARKET`:\n         * BUY: \"MARK_PRICE\"  >= `stopPrice`\n         * SELL: \"MARK_PRICE\" <= `stopPrice`\n         * `TAKE_PROFIT`, `TAKE_PROFIT_MARKET`:\n         * BUY: \"MARK_PRICE\" <= `stopPrice`\n         * SELL: \"MARK_PRICE\" >= `stopPrice`\n         * `TRAILING_STOP_MARKET`:\n         * BUY: the lowest mark price after order placed `<= `activationPrice`, and the latest mark price >`= the lowest mark price * (1 + `callbackRate`)\n         * SELL: the highest mark price after order placed >= `activationPrice`, and the latest mark price <= the highest mark price * (1 - `callbackRate`)\n         * For `TRAILING_STOP_MARKET`, if you got such error code. `{\"code\": -2021, \"msg\": \"Order would immediately trigger.\"}` means that the parameters you send do not meet the following requirements:\n         * BUY: `activationPrice` should be smaller than latest mark price.\n         * SELL: `activationPrice` should be larger than latest mark price.\n         * Condition orders will be triggered when:\n         * If parameter`priceProtect`is sent as true:\n         * when price reaches the `stopPrice` ，the difference rate between \"MARK_PRICE\" and \"CONTRACT_PRICE\" cannot be larger than the \"triggerProtect\" of the symbol\n         * \"triggerProtect\" of a symbol can be got from `GET /fapi/v1/exchangeInfo`\n         * `STOP`, `STOP_MARKET`:\n         * BUY: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") >= `stopPrice`\n         * SELL: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") <= `stopPrice`\n         * `TAKE_PROFIT`, `TAKE_PROFIT_MARKET`:\n         * BUY: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") <= `stopPrice`\n         * SELL: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") >= `stopPrice`\n         *\n         * Weight: 1\n         *\n         * @summary New CM Conditional Order(TRADE)\n         * @param {string} symbol\n         * @param {NewCmConditionalOrderSideEnum} side\n         * @param {NewCmConditionalOrderStrategyTypeEnum} strategyType \"STOP\", \"STOP_MARKET\", \"TAKE_PROFIT\", \"TAKE_PROFIT_MARKET\", and \"TRAILING_STOP_MARKET\"\n         * @param {NewCmConditionalOrderPositionSideEnum} [positionSide] Default `BOTH` for One-way Mode ; `LONG` or `SHORT` for Hedge Mode. It must be sent in Hedge Mode.\n         * @param {NewCmConditionalOrderTimeInForceEnum} [timeInForce]\n         * @param {number} [quantity]\n         * @param {string} [reduceOnly] \"true\" or \"false\". default \"false\". Cannot be sent in Hedge Mode .\n         * @param {number} [price]\n         * @param {NewCmConditionalOrderWorkingTypeEnum} [workingType] stopPrice triggered by: \"MARK_PRICE\", \"CONTRACT_PRICE\". Default \"CONTRACT_PRICE\"\n         * @param {string} [priceProtect] \"true\" or \"false\", default \"false\". Used with `STOP/STOP_MARKET` or `TAKE_PROFIT/TAKE_PROFIT_MARKET` orders\n         * @param {string} [newClientStrategyId]\n         * @param {number} [stopPrice] Used with `STOP/STOP_MARKET` or `TAKE_PROFIT/TAKE_PROFIT_MARKET` orders.\n         * @param {number} [activationPrice] Used with `TRAILING_STOP_MARKET` orders, default as the mark price\n         * @param {number} [callbackRate] Used with `TRAILING_STOP_MARKET` orders, min 0.1, max 5 where 1 for 1%\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        newCmConditionalOrder: async (\n            symbol: string,\n            side: NewCmConditionalOrderSideEnum,\n            strategyType: NewCmConditionalOrderStrategyTypeEnum,\n            positionSide?: NewCmConditionalOrderPositionSideEnum,\n            timeInForce?: NewCmConditionalOrderTimeInForceEnum,\n            quantity?: number,\n            reduceOnly?: string,\n            price?: number,\n            workingType?: NewCmConditionalOrderWorkingTypeEnum,\n            priceProtect?: string,\n            newClientStrategyId?: string,\n            stopPrice?: number,\n            activationPrice?: number,\n            callbackRate?: number,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('newCmConditionalOrder', 'symbol', symbol);\n            // verify required parameter 'side' is not null or undefined\n            assertParamExists('newCmConditionalOrder', 'side', side);\n            // verify required parameter 'strategyType' is not null or undefined\n            assertParamExists('newCmConditionalOrder', 'strategyType', strategyType);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (side !== undefined && side !== null) {\n                localVarQueryParameter['side'] = side;\n            }\n            if (positionSide !== undefined && positionSide !== null) {\n                localVarQueryParameter['positionSide'] = positionSide;\n            }\n            if (strategyType !== undefined && strategyType !== null) {\n                localVarQueryParameter['strategyType'] = strategyType;\n            }\n            if (timeInForce !== undefined && timeInForce !== null) {\n                localVarQueryParameter['timeInForce'] = timeInForce;\n            }\n            if (quantity !== undefined && quantity !== null) {\n                localVarQueryParameter['quantity'] = quantity;\n            }\n            if (reduceOnly !== undefined && reduceOnly !== null) {\n                localVarQueryParameter['reduceOnly'] = reduceOnly;\n            }\n            if (price !== undefined && price !== null) {\n                localVarQueryParameter['price'] = price;\n            }\n            if (workingType !== undefined && workingType !== null) {\n                localVarQueryParameter['workingType'] = workingType;\n            }\n            if (priceProtect !== undefined && priceProtect !== null) {\n                localVarQueryParameter['priceProtect'] = priceProtect;\n            }\n            if (newClientStrategyId !== undefined && newClientStrategyId !== null) {\n                localVarQueryParameter['newClientStrategyId'] = newClientStrategyId;\n            }\n            if (stopPrice !== undefined && stopPrice !== null) {\n                localVarQueryParameter['stopPrice'] = stopPrice;\n            }\n            if (activationPrice !== undefined && activationPrice !== null) {\n                localVarQueryParameter['activationPrice'] = activationPrice;\n            }\n            if (callbackRate !== undefined && callbackRate !== null) {\n                localVarQueryParameter['callbackRate'] = callbackRate;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/conditional/order',\n                method: 'POST',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Place new CM order\n         *\n         * If `newOrderRespType` is sent as `RESULT` :\n         * `MARKET` order: the final FILLED result of the order will be return directly.\n         * `LIMIT` order with special `timeInForce`: the final status result of the order(FILLED or EXPIRED) will be returned directly.\n         *\n         * Weight: 1\n         *\n         * @summary New CM Order(TRADE)\n         * @param {string} symbol\n         * @param {NewCmOrderSideEnum} side\n         * @param {NewCmOrderTypeEnum} type `LIMIT`, `MARKET`\n         * @param {NewCmOrderPositionSideEnum} [positionSide] Default `BOTH` for One-way Mode ; `LONG` or `SHORT` for Hedge Mode. It must be sent in Hedge Mode.\n         * @param {NewCmOrderTimeInForceEnum} [timeInForce]\n         * @param {number} [quantity]\n         * @param {string} [reduceOnly] \"true\" or \"false\". default \"false\". Cannot be sent in Hedge Mode .\n         * @param {number} [price]\n         * @param {NewCmOrderPriceMatchEnum} [priceMatch] only avaliable for `LIMIT`/`STOP`/`TAKE_PROFIT` order; can be set to `OPPONENT`/ `OPPONENT_5`/ `OPPONENT_10`/ `OPPONENT_20`: /`QUEUE`/ `QUEUE_5`/ `QUEUE_10`/ `QUEUE_20`; Can't be passed together with `price`\n         * @param {string} [newClientOrderId] Used to uniquely identify this cancel. Automatically generated by default\n         * @param {NewCmOrderNewOrderRespTypeEnum} [newOrderRespType] \"ACK\", \"RESULT\", default \"ACK\"\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        newCmOrder: async (\n            symbol: string,\n            side: NewCmOrderSideEnum,\n            type: NewCmOrderTypeEnum,\n            positionSide?: NewCmOrderPositionSideEnum,\n            timeInForce?: NewCmOrderTimeInForceEnum,\n            quantity?: number,\n            reduceOnly?: string,\n            price?: number,\n            priceMatch?: NewCmOrderPriceMatchEnum,\n            newClientOrderId?: string,\n            newOrderRespType?: NewCmOrderNewOrderRespTypeEnum,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('newCmOrder', 'symbol', symbol);\n            // verify required parameter 'side' is not null or undefined\n            assertParamExists('newCmOrder', 'side', side);\n            // verify required parameter 'type' is not null or undefined\n            assertParamExists('newCmOrder', 'type', type);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (side !== undefined && side !== null) {\n                localVarQueryParameter['side'] = side;\n            }\n            if (positionSide !== undefined && positionSide !== null) {\n                localVarQueryParameter['positionSide'] = positionSide;\n            }\n            if (type !== undefined && type !== null) {\n                localVarQueryParameter['type'] = type;\n            }\n            if (timeInForce !== undefined && timeInForce !== null) {\n                localVarQueryParameter['timeInForce'] = timeInForce;\n            }\n            if (quantity !== undefined && quantity !== null) {\n                localVarQueryParameter['quantity'] = quantity;\n            }\n            if (reduceOnly !== undefined && reduceOnly !== null) {\n                localVarQueryParameter['reduceOnly'] = reduceOnly;\n            }\n            if (price !== undefined && price !== null) {\n                localVarQueryParameter['price'] = price;\n            }\n            if (priceMatch !== undefined && priceMatch !== null) {\n                localVarQueryParameter['priceMatch'] = priceMatch;\n            }\n            if (newClientOrderId !== undefined && newClientOrderId !== null) {\n                localVarQueryParameter['newClientOrderId'] = newClientOrderId;\n            }\n            if (newOrderRespType !== undefined && newOrderRespType !== null) {\n                localVarQueryParameter['newOrderRespType'] = newOrderRespType;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/order',\n                method: 'POST',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * New Margin Order\n         *\n         * Weight: 1\n         *\n         * @summary New Margin Order(TRADE)\n         * @param {string} symbol\n         * @param {NewMarginOrderSideEnum} side\n         * @param {NewMarginOrderTypeEnum} type `LIMIT`, `MARKET`\n         * @param {number} [quantity]\n         * @param {number} [quoteOrderQty]\n         * @param {number} [price]\n         * @param {number} [stopPrice] Used with `STOP/STOP_MARKET` or `TAKE_PROFIT/TAKE_PROFIT_MARKET` orders.\n         * @param {string} [newClientOrderId] Used to uniquely identify this cancel. Automatically generated by default\n         * @param {NewMarginOrderNewOrderRespTypeEnum} [newOrderRespType] \"ACK\", \"RESULT\", default \"ACK\"\n         * @param {number} [icebergQty] Used with `LIMIT`, `STOP_LOSS_LIMIT`, and `TAKE_PROFIT_LIMIT` to create an iceberg order\n         * @param {NewMarginOrderSideEffectTypeEnum} [sideEffectType] NO_SIDE_EFFECT, MARGIN_BUY, AUTO_REPAY; default NO_SIDE_EFFECT.\n         * @param {NewMarginOrderTimeInForceEnum} [timeInForce]\n         * @param {NewMarginOrderSelfTradePreventionModeEnum} [selfTradePreventionMode] `NONE`:No STP / `EXPIRE_TAKER`:expire taker order when STP triggers/ `EXPIRE_MAKER`:expire taker order when STP triggers/ `EXPIRE_BOTH`:expire both orders when STP triggers\n         * @param {boolean} [autoRepayAtCancel] Only when MARGIN_BUY or AUTO_BORROW_REPAY order takes effect, true means that the debt generated by the order needs to be repay after the order is cancelled. The default is true\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        newMarginOrder: async (\n            symbol: string,\n            side: NewMarginOrderSideEnum,\n            type: NewMarginOrderTypeEnum,\n            quantity?: number,\n            quoteOrderQty?: number,\n            price?: number,\n            stopPrice?: number,\n            newClientOrderId?: string,\n            newOrderRespType?: NewMarginOrderNewOrderRespTypeEnum,\n            icebergQty?: number,\n            sideEffectType?: NewMarginOrderSideEffectTypeEnum,\n            timeInForce?: NewMarginOrderTimeInForceEnum,\n            selfTradePreventionMode?: NewMarginOrderSelfTradePreventionModeEnum,\n            autoRepayAtCancel?: boolean,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('newMarginOrder', 'symbol', symbol);\n            // verify required parameter 'side' is not null or undefined\n            assertParamExists('newMarginOrder', 'side', side);\n            // verify required parameter 'type' is not null or undefined\n            assertParamExists('newMarginOrder', 'type', type);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (side !== undefined && side !== null) {\n                localVarQueryParameter['side'] = side;\n            }\n            if (type !== undefined && type !== null) {\n                localVarQueryParameter['type'] = type;\n            }\n            if (quantity !== undefined && quantity !== null) {\n                localVarQueryParameter['quantity'] = quantity;\n            }\n            if (quoteOrderQty !== undefined && quoteOrderQty !== null) {\n                localVarQueryParameter['quoteOrderQty'] = quoteOrderQty;\n            }\n            if (price !== undefined && price !== null) {\n                localVarQueryParameter['price'] = price;\n            }\n            if (stopPrice !== undefined && stopPrice !== null) {\n                localVarQueryParameter['stopPrice'] = stopPrice;\n            }\n            if (newClientOrderId !== undefined && newClientOrderId !== null) {\n                localVarQueryParameter['newClientOrderId'] = newClientOrderId;\n            }\n            if (newOrderRespType !== undefined && newOrderRespType !== null) {\n                localVarQueryParameter['newOrderRespType'] = newOrderRespType;\n            }\n            if (icebergQty !== undefined && icebergQty !== null) {\n                localVarQueryParameter['icebergQty'] = icebergQty;\n            }\n            if (sideEffectType !== undefined && sideEffectType !== null) {\n                localVarQueryParameter['sideEffectType'] = sideEffectType;\n            }\n            if (timeInForce !== undefined && timeInForce !== null) {\n                localVarQueryParameter['timeInForce'] = timeInForce;\n            }\n            if (selfTradePreventionMode !== undefined && selfTradePreventionMode !== null) {\n                localVarQueryParameter['selfTradePreventionMode'] = selfTradePreventionMode;\n            }\n            if (autoRepayAtCancel !== undefined && autoRepayAtCancel !== null) {\n                localVarQueryParameter['autoRepayAtCancel'] = autoRepayAtCancel;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/margin/order',\n                method: 'POST',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Place new UM conditional order\n         *\n         * Algo order with type `STOP`,  parameter `timeInForce` can be sent ( default `GTC`).\n         * Algo order with type `TAKE_PROFIT`,  parameter `timeInForce` can be sent ( default `GTC`).\n         * Condition orders will be triggered when:\n         *\n         * If parameter`priceProtect`is sent as true:\n         * when price reaches the `triggerPrice` , the difference rate between \"MARK_PRICE\" and \"CONTRACT_PRICE\" cannot be larger than the \"triggerProtect\" of the symbol\n         * \"triggerProtect\" of a symbol can be got from `GET /fapi/v1/exchangeInfo`\n         *\n         * `STOP`, `STOP_MARKET`:\n         * BUY: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") >= `triggerPrice`\n         * SELL: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") <= `triggerPrice`\n         * `TAKE_PROFIT`, `TAKE_PROFIT_MARKET`:\n         * BUY: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") <= `triggerPrice`\n         * SELL: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") >= `triggerPrice`\n         * `TRAILING_STOP_MARKET`:\n         * BUY: the lowest price after order placed <= `activatePrice`, and the latest price >= the lowest price * (1 + `callbackRate`)\n         * SELL: the highest price after order placed >= `activatePrice`, and the latest price <= the highest price * (1 - `callbackRate`)\n         *\n         * For `TRAILING_STOP_MARKET`, if you got such error code.\n         * ``{\"code\": -2021, \"msg\": \"Order would immediately trigger.\"}``\n         * means that the parameters you send do not meet the following requirements:\n         * BUY: `activatePrice` should be smaller than latest price.\n         * SELL: `activatePrice` should be larger than latest price.\n         *\n         * `selfTradePreventionMode` is only effective when `timeInForce` set to `IOC` or `GTC` or `GTD`.\n         *\n         * Weight: 1\n         *\n         * @summary New UM Algo Order (TRADE)\n         * @param {string} algoType Only support `CONDITIONAL`\n         * @param {string} symbol\n         * @param {NewUmAlgoOrderSideEnum} side\n         * @param {NewUmAlgoOrderTypeEnum} type `LIMIT`, `MARKET`\n         * @param {number} quantity Order quantity\n         * @param {NewUmAlgoOrderPositionSideEnum} [positionSide] Default `BOTH` for One-way Mode ; `LONG` or `SHORT` for Hedge Mode. It must be sent in Hedge Mode.\n         * @param {NewUmAlgoOrderTimeInForceEnum} [timeInForce]\n         * @param {number} [price]\n         * @param {number} [triggerPrice]\n         * @param {NewUmAlgoOrderWorkingTypeEnum} [workingType] stopPrice triggered by: \"MARK_PRICE\", \"CONTRACT_PRICE\". Default \"CONTRACT_PRICE\"\n         * @param {NewUmAlgoOrderPriceMatchEnum} [priceMatch] only avaliable for `LIMIT`/`STOP`/`TAKE_PROFIT` order; can be set to `OPPONENT`/ `OPPONENT_5`/ `OPPONENT_10`/ `OPPONENT_20`: /`QUEUE`/ `QUEUE_5`/ `QUEUE_10`/ `QUEUE_20`; Can't be passed together with `price`\n         * @param {string} [priceProtect] \"true\" or \"false\", default \"false\". Used with `STOP/STOP_MARKET` or `TAKE_PROFIT/TAKE_PROFIT_MARKET` orders\n         * @param {string} [reduceOnly] \"true\" or \"false\". default \"false\". Cannot be sent in Hedge Mode .\n         * @param {number} [activatePrice] Used with `TRAILING_STOP_MARKET` orders, default as the latest price(supporting different `workingType`)\n         * @param {number} [callbackRate] Used with `TRAILING_STOP_MARKET` orders, min 0.1, max 5 where 1 for 1%\n         * @param {string} [clientAlgoId]\n         * @param {NewUmAlgoOrderNewOrderRespTypeEnum} [newOrderRespType] \"ACK\", \"RESULT\", default \"ACK\"\n         * @param {NewUmAlgoOrderSelfTradePreventionModeEnum} [selfTradePreventionMode] `NONE`:No STP / `EXPIRE_TAKER`:expire taker order when STP triggers/ `EXPIRE_MAKER`:expire taker order when STP triggers/ `EXPIRE_BOTH`:expire both orders when STP triggers\n         * @param {number | bigint} [goodTillDate] order cancel time for timeInForce `GTD`, mandatory when `timeInforce` set to `GTD`; order the timestamp only retains second-level precision, ms part will be ignored; The goodTillDate timestamp must be greater than the current time plus 600 seconds and smaller than 253402300799000Mode. It must be sent in Hedge Mode.\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        newUmAlgoOrder: async (\n            algoType: string,\n            symbol: string,\n            side: NewUmAlgoOrderSideEnum,\n            type: NewUmAlgoOrderTypeEnum,\n            quantity: number,\n            positionSide?: NewUmAlgoOrderPositionSideEnum,\n            timeInForce?: NewUmAlgoOrderTimeInForceEnum,\n            price?: number,\n            triggerPrice?: number,\n            workingType?: NewUmAlgoOrderWorkingTypeEnum,\n            priceMatch?: NewUmAlgoOrderPriceMatchEnum,\n            priceProtect?: string,\n            reduceOnly?: string,\n            activatePrice?: number,\n            callbackRate?: number,\n            clientAlgoId?: string,\n            newOrderRespType?: NewUmAlgoOrderNewOrderRespTypeEnum,\n            selfTradePreventionMode?: NewUmAlgoOrderSelfTradePreventionModeEnum,\n            goodTillDate?: number | bigint,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'algoType' is not null or undefined\n            assertParamExists('newUmAlgoOrder', 'algoType', algoType);\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('newUmAlgoOrder', 'symbol', symbol);\n            // verify required parameter 'side' is not null or undefined\n            assertParamExists('newUmAlgoOrder', 'side', side);\n            // verify required parameter 'type' is not null or undefined\n            assertParamExists('newUmAlgoOrder', 'type', type);\n            // verify required parameter 'quantity' is not null or undefined\n            assertParamExists('newUmAlgoOrder', 'quantity', quantity);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (algoType !== undefined && algoType !== null) {\n                localVarQueryParameter['algoType'] = algoType;\n            }\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (side !== undefined && side !== null) {\n                localVarQueryParameter['side'] = side;\n            }\n            if (positionSide !== undefined && positionSide !== null) {\n                localVarQueryParameter['positionSide'] = positionSide;\n            }\n            if (type !== undefined && type !== null) {\n                localVarQueryParameter['type'] = type;\n            }\n            if (timeInForce !== undefined && timeInForce !== null) {\n                localVarQueryParameter['timeInForce'] = timeInForce;\n            }\n            if (quantity !== undefined && quantity !== null) {\n                localVarQueryParameter['quantity'] = quantity;\n            }\n            if (price !== undefined && price !== null) {\n                localVarQueryParameter['price'] = price;\n            }\n            if (triggerPrice !== undefined && triggerPrice !== null) {\n                localVarQueryParameter['triggerPrice'] = triggerPrice;\n            }\n            if (workingType !== undefined && workingType !== null) {\n                localVarQueryParameter['workingType'] = workingType;\n            }\n            if (priceMatch !== undefined && priceMatch !== null) {\n                localVarQueryParameter['priceMatch'] = priceMatch;\n            }\n            if (priceProtect !== undefined && priceProtect !== null) {\n                localVarQueryParameter['priceProtect'] = priceProtect;\n            }\n            if (reduceOnly !== undefined && reduceOnly !== null) {\n                localVarQueryParameter['reduceOnly'] = reduceOnly;\n            }\n            if (activatePrice !== undefined && activatePrice !== null) {\n                localVarQueryParameter['activatePrice'] = activatePrice;\n            }\n            if (callbackRate !== undefined && callbackRate !== null) {\n                localVarQueryParameter['callbackRate'] = callbackRate;\n            }\n            if (clientAlgoId !== undefined && clientAlgoId !== null) {\n                localVarQueryParameter['clientAlgoId'] = clientAlgoId;\n            }\n            if (newOrderRespType !== undefined && newOrderRespType !== null) {\n                localVarQueryParameter['newOrderRespType'] = newOrderRespType;\n            }\n            if (selfTradePreventionMode !== undefined && selfTradePreventionMode !== null) {\n                localVarQueryParameter['selfTradePreventionMode'] = selfTradePreventionMode;\n            }\n            if (goodTillDate !== undefined && goodTillDate !== null) {\n                localVarQueryParameter['goodTillDate'] = goodTillDate;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/algo/order',\n                method: 'POST',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Place new UM conditional order\n         *\n         * Order with type `STOP/TAKE_PROFIT`, parameter `timeInForce` can be sent ( default `GTC`).\n         * Condition orders will be triggered when:\n         * `STOP`, `STOP_MARKET`:\n         * BUY: \"MARK_PRICE\"  >= `stopPrice`\n         * SELL: \"MARK_PRICE\" <= `stopPrice`\n         * `TAKE_PROFIT`, `TAKE_PROFIT_MARKET`:\n         * BUY: \"MARK_PRICE\" <= `stopPrice`\n         * SELL: \"MARK_PRICE\" >= `stopPrice`\n         * `TRAILING_STOP_MARKET`:\n         * BUY: the lowest mark price after order placed `<= `activationPrice`, and the latest mark price >`= the lowest mark price * (1 + `callbackRate`)\n         * SELL: the highest mark price after order placed >= `activationPrice`, and the latest mark price <= the highest mark price * (1 - `callbackRate`)\n         * For `TRAILING_STOP_MARKET`, if you got such error code. `{\"code\": -2021, \"msg\": \"Order would immediately trigger.\"}` means that the parameters you send do not meet the following requirements:\n         * BUY: `activationPrice` should be smaller than latest mark price.\n         * SELL: `activationPrice` should be larger than latest mark price.\n         * Condition orders will be triggered when:\n         * If parameter`priceProtect`is sent as true:\n         * when price reaches the `stopPrice` ，the difference rate between \"MARK_PRICE\" and \"CONTRACT_PRICE\" cannot be larger than the \"triggerProtect\" of the symbol\n         * \"triggerProtect\" of a symbol can be got from `GET /fapi/v1/exchangeInfo`\n         * `STOP`, `STOP_MARKET`:\n         * BUY: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") >= `stopPrice`\n         * SELL: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") <= `stopPrice`\n         * `TAKE_PROFIT`, `TAKE_PROFIT_MARKET`:\n         * BUY: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") <= `stopPrice`\n         * SELL: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") >= `stopPrice`\n         * `selfTradePreventionMode` is only effective when `timeInForce` set to `IOC` or `GTC` or `GTD`.\n         * In extreme market conditions, timeInForce `GTD` order auto cancel time might be delayed comparing to `goodTillDate`\n         *\n         * Weight: 1\n         *\n         * @summary New UM Conditional Order\n         * @param {string} symbol\n         * @param {NewUmConditionalOrderSideEnum} side\n         * @param {NewUmConditionalOrderStrategyTypeEnum} strategyType \"STOP\", \"STOP_MARKET\", \"TAKE_PROFIT\", \"TAKE_PROFIT_MARKET\", and \"TRAILING_STOP_MARKET\"\n         * @param {NewUmConditionalOrderPositionSideEnum} [positionSide] Default `BOTH` for One-way Mode ; `LONG` or `SHORT` for Hedge Mode. It must be sent in Hedge Mode.\n         * @param {NewUmConditionalOrderTimeInForceEnum} [timeInForce]\n         * @param {number} [quantity]\n         * @param {string} [reduceOnly] \"true\" or \"false\". default \"false\". Cannot be sent in Hedge Mode .\n         * @param {number} [price]\n         * @param {NewUmConditionalOrderWorkingTypeEnum} [workingType] stopPrice triggered by: \"MARK_PRICE\", \"CONTRACT_PRICE\". Default \"CONTRACT_PRICE\"\n         * @param {string} [priceProtect] \"true\" or \"false\", default \"false\". Used with `STOP/STOP_MARKET` or `TAKE_PROFIT/TAKE_PROFIT_MARKET` orders\n         * @param {string} [newClientStrategyId]\n         * @param {number} [stopPrice] Used with `STOP/STOP_MARKET` or `TAKE_PROFIT/TAKE_PROFIT_MARKET` orders.\n         * @param {number} [activationPrice] Used with `TRAILING_STOP_MARKET` orders, default as the mark price\n         * @param {number} [callbackRate] Used with `TRAILING_STOP_MARKET` orders, min 0.1, max 5 where 1 for 1%\n         * @param {NewUmConditionalOrderPriceMatchEnum} [priceMatch] only avaliable for `LIMIT`/`STOP`/`TAKE_PROFIT` order; can be set to `OPPONENT`/ `OPPONENT_5`/ `OPPONENT_10`/ `OPPONENT_20`: /`QUEUE`/ `QUEUE_5`/ `QUEUE_10`/ `QUEUE_20`; Can't be passed together with `price`\n         * @param {NewUmConditionalOrderSelfTradePreventionModeEnum} [selfTradePreventionMode] `NONE`:No STP / `EXPIRE_TAKER`:expire taker order when STP triggers/ `EXPIRE_MAKER`:expire taker order when STP triggers/ `EXPIRE_BOTH`:expire both orders when STP triggers\n         * @param {number | bigint} [goodTillDate] order cancel time for timeInForce `GTD`, mandatory when `timeInforce` set to `GTD`; order the timestamp only retains second-level precision, ms part will be ignored; The goodTillDate timestamp must be greater than the current time plus 600 seconds and smaller than 253402300799000Mode. It must be sent in Hedge Mode.\n         * @param {number | bigint} [recvWindow]\n         *\n         * @deprecated\n         * @throws {RequiredError}\n         */\n        newUmConditionalOrder: async (\n            symbol: string,\n            side: NewUmConditionalOrderSideEnum,\n            strategyType: NewUmConditionalOrderStrategyTypeEnum,\n            positionSide?: NewUmConditionalOrderPositionSideEnum,\n            timeInForce?: NewUmConditionalOrderTimeInForceEnum,\n            quantity?: number,\n            reduceOnly?: string,\n            price?: number,\n            workingType?: NewUmConditionalOrderWorkingTypeEnum,\n            priceProtect?: string,\n            newClientStrategyId?: string,\n            stopPrice?: number,\n            activationPrice?: number,\n            callbackRate?: number,\n            priceMatch?: NewUmConditionalOrderPriceMatchEnum,\n            selfTradePreventionMode?: NewUmConditionalOrderSelfTradePreventionModeEnum,\n            goodTillDate?: number | bigint,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('newUmConditionalOrder', 'symbol', symbol);\n            // verify required parameter 'side' is not null or undefined\n            assertParamExists('newUmConditionalOrder', 'side', side);\n            // verify required parameter 'strategyType' is not null or undefined\n            assertParamExists('newUmConditionalOrder', 'strategyType', strategyType);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (side !== undefined && side !== null) {\n                localVarQueryParameter['side'] = side;\n            }\n            if (positionSide !== undefined && positionSide !== null) {\n                localVarQueryParameter['positionSide'] = positionSide;\n            }\n            if (strategyType !== undefined && strategyType !== null) {\n                localVarQueryParameter['strategyType'] = strategyType;\n            }\n            if (timeInForce !== undefined && timeInForce !== null) {\n                localVarQueryParameter['timeInForce'] = timeInForce;\n            }\n            if (quantity !== undefined && quantity !== null) {\n                localVarQueryParameter['quantity'] = quantity;\n            }\n            if (reduceOnly !== undefined && reduceOnly !== null) {\n                localVarQueryParameter['reduceOnly'] = reduceOnly;\n            }\n            if (price !== undefined && price !== null) {\n                localVarQueryParameter['price'] = price;\n            }\n            if (workingType !== undefined && workingType !== null) {\n                localVarQueryParameter['workingType'] = workingType;\n            }\n            if (priceProtect !== undefined && priceProtect !== null) {\n                localVarQueryParameter['priceProtect'] = priceProtect;\n            }\n            if (newClientStrategyId !== undefined && newClientStrategyId !== null) {\n                localVarQueryParameter['newClientStrategyId'] = newClientStrategyId;\n            }\n            if (stopPrice !== undefined && stopPrice !== null) {\n                localVarQueryParameter['stopPrice'] = stopPrice;\n            }\n            if (activationPrice !== undefined && activationPrice !== null) {\n                localVarQueryParameter['activationPrice'] = activationPrice;\n            }\n            if (callbackRate !== undefined && callbackRate !== null) {\n                localVarQueryParameter['callbackRate'] = callbackRate;\n            }\n            if (priceMatch !== undefined && priceMatch !== null) {\n                localVarQueryParameter['priceMatch'] = priceMatch;\n            }\n            if (selfTradePreventionMode !== undefined && selfTradePreventionMode !== null) {\n                localVarQueryParameter['selfTradePreventionMode'] = selfTradePreventionMode;\n            }\n            if (goodTillDate !== undefined && goodTillDate !== null) {\n                localVarQueryParameter['goodTillDate'] = goodTillDate;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/conditional/order',\n                method: 'POST',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Place new UM order\n         *\n         * If `newOrderRespType` is sent as `RESULT` :\n         * `MARKET` order: the final FILLED result of the order will be return directly.\n         * `LIMIT` order with special `timeInForce`: the final status result of the order(FILLED or EXPIRED) will be returned directly.\n         * `selfTradePreventionMode` is only effective when `timeInForce` set to `IOC` or `GTC` or `GTD`.\n         * In extreme market conditions, timeInForce `GTD` order auto cancel time might be delayed comparing to `goodTillDate`\n         *\n         * Weight: 1\n         *\n         * @summary New UM Order (TRADE)\n         * @param {string} symbol\n         * @param {NewUmOrderSideEnum} side\n         * @param {NewUmOrderTypeEnum} type `LIMIT`, `MARKET`\n         * @param {NewUmOrderPositionSideEnum} [positionSide] Default `BOTH` for One-way Mode ; `LONG` or `SHORT` for Hedge Mode. It must be sent in Hedge Mode.\n         * @param {NewUmOrderTimeInForceEnum} [timeInForce]\n         * @param {number} [quantity]\n         * @param {string} [reduceOnly] \"true\" or \"false\". default \"false\". Cannot be sent in Hedge Mode .\n         * @param {number} [price]\n         * @param {string} [newClientOrderId] Used to uniquely identify this cancel. Automatically generated by default\n         * @param {NewUmOrderNewOrderRespTypeEnum} [newOrderRespType] \"ACK\", \"RESULT\", default \"ACK\"\n         * @param {NewUmOrderPriceMatchEnum} [priceMatch] only avaliable for `LIMIT`/`STOP`/`TAKE_PROFIT` order; can be set to `OPPONENT`/ `OPPONENT_5`/ `OPPONENT_10`/ `OPPONENT_20`: /`QUEUE`/ `QUEUE_5`/ `QUEUE_10`/ `QUEUE_20`; Can't be passed together with `price`\n         * @param {NewUmOrderSelfTradePreventionModeEnum} [selfTradePreventionMode] `NONE`:No STP / `EXPIRE_TAKER`:expire taker order when STP triggers/ `EXPIRE_MAKER`:expire taker order when STP triggers/ `EXPIRE_BOTH`:expire both orders when STP triggers\n         * @param {number | bigint} [goodTillDate] order cancel time for timeInForce `GTD`, mandatory when `timeInforce` set to `GTD`; order the timestamp only retains second-level precision, ms part will be ignored; The goodTillDate timestamp must be greater than the current time plus 600 seconds and smaller than 253402300799000Mode. It must be sent in Hedge Mode.\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        newUmOrder: async (\n            symbol: string,\n            side: NewUmOrderSideEnum,\n            type: NewUmOrderTypeEnum,\n            positionSide?: NewUmOrderPositionSideEnum,\n            timeInForce?: NewUmOrderTimeInForceEnum,\n            quantity?: number,\n            reduceOnly?: string,\n            price?: number,\n            newClientOrderId?: string,\n            newOrderRespType?: NewUmOrderNewOrderRespTypeEnum,\n            priceMatch?: NewUmOrderPriceMatchEnum,\n            selfTradePreventionMode?: NewUmOrderSelfTradePreventionModeEnum,\n            goodTillDate?: number | bigint,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('newUmOrder', 'symbol', symbol);\n            // verify required parameter 'side' is not null or undefined\n            assertParamExists('newUmOrder', 'side', side);\n            // verify required parameter 'type' is not null or undefined\n            assertParamExists('newUmOrder', 'type', type);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (side !== undefined && side !== null) {\n                localVarQueryParameter['side'] = side;\n            }\n            if (positionSide !== undefined && positionSide !== null) {\n                localVarQueryParameter['positionSide'] = positionSide;\n            }\n            if (type !== undefined && type !== null) {\n                localVarQueryParameter['type'] = type;\n            }\n            if (timeInForce !== undefined && timeInForce !== null) {\n                localVarQueryParameter['timeInForce'] = timeInForce;\n            }\n            if (quantity !== undefined && quantity !== null) {\n                localVarQueryParameter['quantity'] = quantity;\n            }\n            if (reduceOnly !== undefined && reduceOnly !== null) {\n                localVarQueryParameter['reduceOnly'] = reduceOnly;\n            }\n            if (price !== undefined && price !== null) {\n                localVarQueryParameter['price'] = price;\n            }\n            if (newClientOrderId !== undefined && newClientOrderId !== null) {\n                localVarQueryParameter['newClientOrderId'] = newClientOrderId;\n            }\n            if (newOrderRespType !== undefined && newOrderRespType !== null) {\n                localVarQueryParameter['newOrderRespType'] = newOrderRespType;\n            }\n            if (priceMatch !== undefined && priceMatch !== null) {\n                localVarQueryParameter['priceMatch'] = priceMatch;\n            }\n            if (selfTradePreventionMode !== undefined && selfTradePreventionMode !== null) {\n                localVarQueryParameter['selfTradePreventionMode'] = selfTradePreventionMode;\n            }\n            if (goodTillDate !== undefined && goodTillDate !== null) {\n                localVarQueryParameter['goodTillDate'] = goodTillDate;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/order',\n                method: 'POST',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query All CM Conditional Orders\n         *\n         * These orders will not be found:\n         * order strategyStatus is `CANCELED` or `EXPIRED`, **AND**\n         * order has NO filled trade, **AND**\n         * created time + 7 days < current time\n         * The query time period must be less than 7 days( default as the recent 7 days).\n         *\n         * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n         *\n         * @summary Query All CM Conditional Orders(USER_DATA)\n         * @param {string} [symbol]\n         * @param {number | bigint} [strategyId]\n         * @param {number | bigint} [startTime] Timestamp in ms to get funding from INCLUSIVE.\n         * @param {number | bigint} [endTime] Timestamp in ms to get funding until INCLUSIVE.\n         * @param {number | bigint} [limit] Default 100; max 1000\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryAllCmConditionalOrders: async (\n            symbol?: string,\n            strategyId?: number | bigint,\n            startTime?: number | bigint,\n            endTime?: number | bigint,\n            limit?: number | bigint,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (strategyId !== undefined && strategyId !== null) {\n                localVarQueryParameter['strategyId'] = strategyId;\n            }\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n            if (limit !== undefined && limit !== null) {\n                localVarQueryParameter['limit'] = limit;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/conditional/allOrders',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get all account CM orders; active, canceled, or filled.\n         *\n         * Either `symbol` or `pair` must be sent.\n         * If `orderId` is set, it will get orders >= that orderId. Otherwise most recent orders are returned.\n         * These orders will not be found:\n         * order status is `CANCELED` or `EXPIRED`, **AND**\n         * order has NO filled trade, **AND**\n         * created time + 3 days < current time\n         *\n         * Weight: 20 with symbol, 40 with pair\n         *\n         * @summary Query All CM Orders (USER_DATA)\n         * @param {string} symbol\n         * @param {string} [pair]\n         * @param {number | bigint} [orderId]\n         * @param {number | bigint} [startTime] Timestamp in ms to get funding from INCLUSIVE.\n         * @param {number | bigint} [endTime] Timestamp in ms to get funding until INCLUSIVE.\n         * @param {number | bigint} [limit] Default 100; max 1000\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryAllCmOrders: async (\n            symbol: string,\n            pair?: string,\n            orderId?: number | bigint,\n            startTime?: number | bigint,\n            endTime?: number | bigint,\n            limit?: number | bigint,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('queryAllCmOrders', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (pair !== undefined && pair !== null) {\n                localVarQueryParameter['pair'] = pair;\n            }\n            if (orderId !== undefined && orderId !== null) {\n                localVarQueryParameter['orderId'] = orderId;\n            }\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n            if (limit !== undefined && limit !== null) {\n                localVarQueryParameter['limit'] = limit;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/allOrders',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get all open conditional orders on a symbol. **Careful** when accessing this with no symbol.\n         *\n         * If the symbol is not sent, orders for all symbols will be returned in an array.\n         *\n         * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n         *\n         * @summary Query All Current CM Open Conditional Orders (USER_DATA)\n         * @param {string} [symbol]\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryAllCurrentCmOpenConditionalOrders: async (\n            symbol?: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/conditional/openOrders',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get all open orders on a symbol.\n         *\n         * If the symbol is not sent, orders for all symbols will be returned in an array.\n         *\n         * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n         * Careful when accessing this with no symbol.\n         *\n         * @summary Query All Current CM Open Orders(USER_DATA)\n         * @param {string} [symbol]\n         * @param {string} [pair]\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryAllCurrentCmOpenOrders: async (\n            symbol?: string,\n            pair?: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (pair !== undefined && pair !== null) {\n                localVarQueryParameter['pair'] = pair;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/openOrders',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get all UM open algo orders on a symbol.\n         *\n         * If the symbol is not sent, orders for all symbols will be returned in an array.\n         *\n         * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n         * Careful when accessing this with no symbol.\n         *\n         * @summary Query All Current UM Open Algo Orders (USER_DATA)\n         * @param {string} [algoType]\n         * @param {string} [symbol]\n         * @param {number | bigint} [algoId]\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryAllCurrentUmOpenAlgoOrders: async (\n            algoType?: string,\n            symbol?: string,\n            algoId?: number | bigint,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (algoType !== undefined && algoType !== null) {\n                localVarQueryParameter['algoType'] = algoType;\n            }\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (algoId !== undefined && algoId !== null) {\n                localVarQueryParameter['algoId'] = algoId;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/algo/openAlgoOrders',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get all open conditional orders on a symbol.\n         *\n         * If the symbol is not sent, orders for all symbols will be returned in an array.\n         *\n         * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n         * Careful when accessing this with no symbol.\n         *\n         * @summary Query All Current UM Open Conditional Orders\n         * @param {string} [symbol]\n         * @param {number | bigint} [recvWindow]\n         *\n         * @deprecated\n         * @throws {RequiredError}\n         */\n        queryAllCurrentUmOpenConditionalOrders: async (\n            symbol?: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/conditional/openOrders',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get all open orders on a symbol.\n         *\n         *\n         * If the symbol is not sent, orders for all symbols will be returned in an array.\n         *\n         * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n         *\n         * @summary Query All Current UM Open Orders(USER_DATA)\n         * @param {string} [symbol]\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryAllCurrentUmOpenOrders: async (\n            symbol?: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/openOrders',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query All Margin Account Orders\n         *\n         * Weight: 100\n         *\n         * @summary Query All Margin Account Orders (USER_DATA)\n         * @param {string} symbol\n         * @param {number | bigint} [orderId]\n         * @param {number | bigint} [startTime] Timestamp in ms to get funding from INCLUSIVE.\n         * @param {number | bigint} [endTime] Timestamp in ms to get funding until INCLUSIVE.\n         * @param {number | bigint} [limit] Default 100; max 1000\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryAllMarginAccountOrders: async (\n            symbol: string,\n            orderId?: number | bigint,\n            startTime?: number | bigint,\n            endTime?: number | bigint,\n            limit?: number | bigint,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('queryAllMarginAccountOrders', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (orderId !== undefined && orderId !== null) {\n                localVarQueryParameter['orderId'] = orderId;\n            }\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n            if (limit !== undefined && limit !== null) {\n                localVarQueryParameter['limit'] = limit;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/margin/allOrders',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query All UM Conditional Orders\n         *\n         * These orders will not be found:\n         * order strategyStatus is `CANCELED` or `EXPIRED`, **AND**\n         * order has NO filled trade, **AND**\n         * created time + 7 days < current time\n         * The query time period must be less than 7 days( default as the recent 7 days).\n         *\n         * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n         *\n         * @summary Query All UM Conditional Orders\n         * @param {string} [symbol]\n         * @param {number | bigint} [strategyId]\n         * @param {number | bigint} [startTime] Timestamp in ms to get funding from INCLUSIVE.\n         * @param {number | bigint} [endTime] Timestamp in ms to get funding until INCLUSIVE.\n         * @param {number | bigint} [limit] Default 100; max 1000\n         * @param {number | bigint} [recvWindow]\n         *\n         * @deprecated\n         * @throws {RequiredError}\n         */\n        queryAllUmConditionalOrders: async (\n            symbol?: string,\n            strategyId?: number | bigint,\n            startTime?: number | bigint,\n            endTime?: number | bigint,\n            limit?: number | bigint,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (strategyId !== undefined && strategyId !== null) {\n                localVarQueryParameter['strategyId'] = strategyId;\n            }\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n            if (limit !== undefined && limit !== null) {\n                localVarQueryParameter['limit'] = limit;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/conditional/allOrders',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get all account UM orders; active, canceled, or filled.\n         * These orders will not be found:\n         * order status is `CANCELED` or `EXPIRED`, **AND**\n         * order has NO filled trade, **AND**\n         * created time + 3 days < current time\n         *\n         * If `orderId` is set, it will get orders >= that orderId. Otherwise most recent orders are returned.\n         * The query time period must be less then 7 days( default as the recent 7 days).\n         *\n         * Weight: 5\n         *\n         * @summary Query All UM Orders(USER_DATA)\n         * @param {string} symbol\n         * @param {number | bigint} [orderId]\n         * @param {number | bigint} [startTime] Timestamp in ms to get funding from INCLUSIVE.\n         * @param {number | bigint} [endTime] Timestamp in ms to get funding until INCLUSIVE.\n         * @param {number | bigint} [limit] Default 100; max 1000\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryAllUmOrders: async (\n            symbol: string,\n            orderId?: number | bigint,\n            startTime?: number | bigint,\n            endTime?: number | bigint,\n            limit?: number | bigint,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('queryAllUmOrders', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (orderId !== undefined && orderId !== null) {\n                localVarQueryParameter['orderId'] = orderId;\n            }\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n            if (limit !== undefined && limit !== null) {\n                localVarQueryParameter['limit'] = limit;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/allOrders',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query CM Conditional Order History\n         *\n         *\n         * Either `strategyId` or `newClientStrategyId` must be sent.\n         * `NEW` orders will not be found.\n         * These orders will not be found:\n         * order status is `CANCELED` or `EXPIRED`, **AND**\n         * order has NO filled trade, **AND**\n         * created time + 7 days < current time\n         *\n         * Weight: 1\n         *\n         * @summary Query CM Conditional Order History(USER_DATA)\n         * @param {string} symbol\n         * @param {number | bigint} [strategyId]\n         * @param {string} [newClientStrategyId]\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryCmConditionalOrderHistory: async (\n            symbol: string,\n            strategyId?: number | bigint,\n            newClientStrategyId?: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('queryCmConditionalOrderHistory', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (strategyId !== undefined && strategyId !== null) {\n                localVarQueryParameter['strategyId'] = strategyId;\n            }\n            if (newClientStrategyId !== undefined && newClientStrategyId !== null) {\n                localVarQueryParameter['newClientStrategyId'] = newClientStrategyId;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/conditional/orderHistory',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get order modification history\n         *\n         * Either `orderId` or `origClientOrderId` must be sent, and the `orderId` will prevail if both are sent.\n         *\n         * Weight: 1\n         *\n         * @summary Query CM Modify Order History(TRADE)\n         * @param {string} symbol\n         * @param {number | bigint} [orderId]\n         * @param {string} [origClientOrderId]\n         * @param {number | bigint} [startTime] Timestamp in ms to get funding from INCLUSIVE.\n         * @param {number | bigint} [endTime] Timestamp in ms to get funding until INCLUSIVE.\n         * @param {number | bigint} [limit] Default 100; max 1000\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryCmModifyOrderHistory: async (\n            symbol: string,\n            orderId?: number | bigint,\n            origClientOrderId?: string,\n            startTime?: number | bigint,\n            endTime?: number | bigint,\n            limit?: number | bigint,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('queryCmModifyOrderHistory', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (orderId !== undefined && orderId !== null) {\n                localVarQueryParameter['orderId'] = orderId;\n            }\n            if (origClientOrderId !== undefined && origClientOrderId !== null) {\n                localVarQueryParameter['origClientOrderId'] = origClientOrderId;\n            }\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n            if (limit !== undefined && limit !== null) {\n                localVarQueryParameter['limit'] = limit;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/orderAmendment',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Check an CM order's status.\n         *\n         * Either `orderId` or `origClientOrderId` must be sent.\n         * These orders will not be found:\n         * order status is `CANCELED` or `EXPIRED`, **AND**\n         * order has NO filled trade, **AND**\n         * created time + 3 days < current time\n         *\n         * Weight: 1\n         *\n         * @summary Query CM Order(USER_DATA)\n         * @param {string} symbol\n         * @param {number | bigint} [orderId]\n         * @param {string} [origClientOrderId]\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryCmOrder: async (\n            symbol: string,\n            orderId?: number | bigint,\n            origClientOrderId?: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('queryCmOrder', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (orderId !== undefined && orderId !== null) {\n                localVarQueryParameter['orderId'] = orderId;\n            }\n            if (origClientOrderId !== undefined && origClientOrderId !== null) {\n                localVarQueryParameter['origClientOrderId'] = origClientOrderId;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/order',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query Current CM Open Conditional Order\n         *\n         * Either `strategyId` or `newClientStrategyId` must be sent.\n         * If the queried order has been triggered, cancelled or expired, the error message \"Order does not exist\" will be returned.\n         *\n         * Weight: 1\n         *\n         * @summary Query Current CM Open Conditional Order(USER_DATA)\n         * @param {string} symbol\n         * @param {number | bigint} [strategyId]\n         * @param {string} [newClientStrategyId]\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryCurrentCmOpenConditionalOrder: async (\n            symbol: string,\n            strategyId?: number | bigint,\n            newClientStrategyId?: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('queryCurrentCmOpenConditionalOrder', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (strategyId !== undefined && strategyId !== null) {\n                localVarQueryParameter['strategyId'] = strategyId;\n            }\n            if (newClientStrategyId !== undefined && newClientStrategyId !== null) {\n                localVarQueryParameter['newClientStrategyId'] = newClientStrategyId;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/conditional/openOrder',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query current CM open order\n         *\n         * Either `orderId` or `origClientOrderId` must be sent.\n         * If the queried order has been filled or cancelled, the error message \"Order does not exist\" will be returned.\n         *\n         * Weight: 1\n         *\n         * @summary Query Current CM Open Order (USER_DATA)\n         * @param {string} symbol\n         * @param {number | bigint} [orderId]\n         * @param {string} [origClientOrderId]\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryCurrentCmOpenOrder: async (\n            symbol: string,\n            orderId?: number | bigint,\n            origClientOrderId?: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('queryCurrentCmOpenOrder', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (orderId !== undefined && orderId !== null) {\n                localVarQueryParameter['orderId'] = orderId;\n            }\n            if (origClientOrderId !== undefined && origClientOrderId !== null) {\n                localVarQueryParameter['origClientOrderId'] = origClientOrderId;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/openOrder',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query Current Margin Open Order\n         *\n         * Weight: 5\n         *\n         * @summary Query Current Margin Open Order (USER_DATA)\n         * @param {string} symbol\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryCurrentMarginOpenOrder: async (\n            symbol: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('queryCurrentMarginOpenOrder', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/margin/openOrders',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Check an UM algo order's status.\n         *\n         * These orders will not be found:\n         * order status is `CANCELED` or `EXPIRED` **AND** order has NO filled trade **AND** created time + 3 days < current time\n         * order create time + 90 days < current time\n         *\n         * Either `algoId` or `clientAlgoId` must be sent.\n         * `algoId` is self-increment for each specific `symbol`\n         *\n         * Weight: 1\n         *\n         * @summary Query Current UM Open Algo Order (USER_DATA)\n         * @param {number | bigint} [algoId]\n         * @param {string} [clientAlgoId]\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryCurrentUmOpenAlgoOrder: async (\n            algoId?: number | bigint,\n            clientAlgoId?: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (algoId !== undefined && algoId !== null) {\n                localVarQueryParameter['algoId'] = algoId;\n            }\n            if (clientAlgoId !== undefined && clientAlgoId !== null) {\n                localVarQueryParameter['clientAlgoId'] = clientAlgoId;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/algo/algoOrder',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query Current UM Open Conditional Order\n         *\n         * Either `strategyId` or `newClientStrategyId` must be sent.\n         * If the queried order has been `CANCELED`, `TRIGGERED` or `EXPIRED`, the error message \"Order does not exist\" will be returned.\n         *\n         * Weight: 1\n         *\n         * @summary Query Current UM Open Conditional Order\n         * @param {string} symbol\n         * @param {number | bigint} [strategyId]\n         * @param {string} [newClientStrategyId]\n         * @param {number | bigint} [recvWindow]\n         *\n         * @deprecated\n         * @throws {RequiredError}\n         */\n        queryCurrentUmOpenConditionalOrder: async (\n            symbol: string,\n            strategyId?: number | bigint,\n            newClientStrategyId?: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('queryCurrentUmOpenConditionalOrder', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (strategyId !== undefined && strategyId !== null) {\n                localVarQueryParameter['strategyId'] = strategyId;\n            }\n            if (newClientStrategyId !== undefined && newClientStrategyId !== null) {\n                localVarQueryParameter['newClientStrategyId'] = newClientStrategyId;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/conditional/openOrder',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query current UM open order\n         *\n         *\n         * Either `orderId` or `origClientOrderId` must be sent.\n         * If the queried order has been filled or cancelled, the error message \"Order does not exist\" will be returned.\n         *\n         * Weight: 1\n         *\n         * @summary Query Current UM Open Order(USER_DATA)\n         * @param {string} symbol\n         * @param {number | bigint} [orderId]\n         * @param {string} [origClientOrderId]\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryCurrentUmOpenOrder: async (\n            symbol: string,\n            orderId?: number | bigint,\n            origClientOrderId?: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('queryCurrentUmOpenOrder', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (orderId !== undefined && orderId !== null) {\n                localVarQueryParameter['orderId'] = orderId;\n            }\n            if (origClientOrderId !== undefined && origClientOrderId !== null) {\n                localVarQueryParameter['origClientOrderId'] = origClientOrderId;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/openOrder',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query Margin Account Order\n         *\n         * Weight: 10\n         *\n         * @summary Query Margin Account Order (USER_DATA)\n         * @param {string} symbol\n         * @param {number | bigint} [orderId]\n         * @param {string} [origClientOrderId]\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryMarginAccountOrder: async (\n            symbol: string,\n            orderId?: number | bigint,\n            origClientOrderId?: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('queryMarginAccountOrder', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (orderId !== undefined && orderId !== null) {\n                localVarQueryParameter['orderId'] = orderId;\n            }\n            if (origClientOrderId !== undefined && origClientOrderId !== null) {\n                localVarQueryParameter['origClientOrderId'] = origClientOrderId;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/margin/order',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query all OCO for a specific margin account based on provided optional parameters\n         *\n         * Weight: 100\n         *\n         * @summary Query Margin Account\\'s all OCO (USER_DATA)\n         * @param {number | bigint} [fromId] Trade id to fetch from. Default gets most recent trades.\n         * @param {number | bigint} [startTime] Timestamp in ms to get funding from INCLUSIVE.\n         * @param {number | bigint} [endTime] Timestamp in ms to get funding until INCLUSIVE.\n         * @param {number | bigint} [limit] Default 100; max 1000\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryMarginAccountsAllOco: async (\n            fromId?: number | bigint,\n            startTime?: number | bigint,\n            endTime?: number | bigint,\n            limit?: number | bigint,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (fromId !== undefined && fromId !== null) {\n                localVarQueryParameter['fromId'] = fromId;\n            }\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n            if (limit !== undefined && limit !== null) {\n                localVarQueryParameter['limit'] = limit;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/margin/allOrderList',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Retrieves a specific OCO based on provided optional parameters\n         *\n         * Weight: 5\n         *\n         * @summary Query Margin Account\\'s OCO (USER_DATA)\n         * @param {number | bigint} [orderListId] Either `orderListId` or `listClientOrderId` must be provided\n         * @param {string} [origClientOrderId]\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryMarginAccountsOco: async (\n            orderListId?: number | bigint,\n            origClientOrderId?: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (orderListId !== undefined && orderListId !== null) {\n                localVarQueryParameter['orderListId'] = orderListId;\n            }\n            if (origClientOrderId !== undefined && origClientOrderId !== null) {\n                localVarQueryParameter['origClientOrderId'] = origClientOrderId;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/margin/orderList',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query Margin Account's Open OCO\n         *\n         * Weight: 5\n         *\n         * @summary Query Margin Account\\'s Open OCO (USER_DATA)\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryMarginAccountsOpenOco: async (recvWindow?: number | bigint): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/margin/openOrderList',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get all algo orders; ACTIVE, CANCELED, TRIGGERED or FINISHED .\n         *\n         * If `algoId` is set, it will get orders >= that `algoId`. Otherwise most recent orders are returned.\n         * The query time period must be less then 7 days( default as the recent 7 days).\n         *\n         * Weight: 5\n         *\n         * @summary Query UM Algo Order History (USER_DATA)\n         * @param {string} symbol\n         * @param {number | bigint} [algoId]\n         * @param {number | bigint} [startTime] Timestamp in ms to get funding from INCLUSIVE.\n         * @param {number | bigint} [endTime] Timestamp in ms to get funding until INCLUSIVE.\n         * @param {number | bigint} [limit] Default 100; max 1000\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryUmAlgoOrderHistory: async (\n            symbol: string,\n            algoId?: number | bigint,\n            startTime?: number | bigint,\n            endTime?: number | bigint,\n            limit?: number | bigint,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('queryUmAlgoOrderHistory', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (algoId !== undefined && algoId !== null) {\n                localVarQueryParameter['algoId'] = algoId;\n            }\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n            if (limit !== undefined && limit !== null) {\n                localVarQueryParameter['limit'] = limit;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/algo/allAlgoOrders',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query UM Conditional Order History\n         *\n         * Either `strategyId` or `newClientStrategyId` must be sent.\n         * `NEW` orders will not be found.\n         * These orders will not be found:\n         * order status is `CANCELED` or `EXPIRED`, **AND**\n         * order has NO filled trade, **AND**\n         * created time + 7 days < current time\n         *\n         * Weight: 1\n         *\n         * @summary Query UM Conditional Order History\n         * @param {string} symbol\n         * @param {number | bigint} [strategyId]\n         * @param {string} [newClientStrategyId]\n         * @param {number | bigint} [recvWindow]\n         *\n         * @deprecated\n         * @throws {RequiredError}\n         */\n        queryUmConditionalOrderHistory: async (\n            symbol: string,\n            strategyId?: number | bigint,\n            newClientStrategyId?: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('queryUmConditionalOrderHistory', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (strategyId !== undefined && strategyId !== null) {\n                localVarQueryParameter['strategyId'] = strategyId;\n            }\n            if (newClientStrategyId !== undefined && newClientStrategyId !== null) {\n                localVarQueryParameter['newClientStrategyId'] = newClientStrategyId;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/conditional/orderHistory',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get order modification history\n         *\n         * Either `orderId` or `origClientOrderId` must be sent, and the `orderId` will prevail if both are sent.\n         *\n         * Weight: 1\n         *\n         * @summary Query UM Modify Order History(TRADE)\n         * @param {string} symbol\n         * @param {number | bigint} [orderId]\n         * @param {string} [origClientOrderId]\n         * @param {number | bigint} [startTime] Timestamp in ms to get funding from INCLUSIVE.\n         * @param {number | bigint} [endTime] Timestamp in ms to get funding until INCLUSIVE.\n         * @param {number | bigint} [limit] Default 100; max 1000\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryUmModifyOrderHistory: async (\n            symbol: string,\n            orderId?: number | bigint,\n            origClientOrderId?: string,\n            startTime?: number | bigint,\n            endTime?: number | bigint,\n            limit?: number | bigint,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('queryUmModifyOrderHistory', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (orderId !== undefined && orderId !== null) {\n                localVarQueryParameter['orderId'] = orderId;\n            }\n            if (origClientOrderId !== undefined && origClientOrderId !== null) {\n                localVarQueryParameter['origClientOrderId'] = origClientOrderId;\n            }\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n            if (limit !== undefined && limit !== null) {\n                localVarQueryParameter['limit'] = limit;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/orderAmendment',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Check an UM order's status.\n         *\n         * These orders will not be found:\n         * Either `orderId` or `origClientOrderId` must be sent.\n         * order status is `CANCELED` or `EXPIRED`, **AND**\n         * order has NO filled trade, **AND**\n         * created time + 3 days < current time\n         *\n         * Weight: 1\n         *\n         * @summary Query UM Order (USER_DATA)\n         * @param {string} symbol\n         * @param {number | bigint} [orderId]\n         * @param {string} [origClientOrderId]\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryUmOrder: async (\n            symbol: string,\n            orderId?: number | bigint,\n            origClientOrderId?: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('queryUmOrder', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (orderId !== undefined && orderId !== null) {\n                localVarQueryParameter['orderId'] = orderId;\n            }\n            if (origClientOrderId !== undefined && origClientOrderId !== null) {\n                localVarQueryParameter['origClientOrderId'] = origClientOrderId;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/order',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query User's CM Force Orders\n         *\n         * If \"autoCloseType\" is not sent, orders with both of the types will be returned\n         * If \"startTime\" is not sent, data within 7 days before \"endTime\" can be queried\n         * Only support querying data in the past 90 days\n         *\n         * Weight: 20 with symbol, 50 without symbol\n         *\n         * @summary Query User\\'s CM Force Orders(USER_DATA)\n         * @param {string} [symbol]\n         * @param {QueryUsersCmForceOrdersAutoCloseTypeEnum} [autoCloseType] `LIQUIDATION` for liquidation orders, `ADL` for ADL orders.\n         * @param {number | bigint} [startTime] Timestamp in ms to get funding from INCLUSIVE.\n         * @param {number | bigint} [endTime] Timestamp in ms to get funding until INCLUSIVE.\n         * @param {number | bigint} [limit] Default 100; max 1000\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryUsersCmForceOrders: async (\n            symbol?: string,\n            autoCloseType?: QueryUsersCmForceOrdersAutoCloseTypeEnum,\n            startTime?: number | bigint,\n            endTime?: number | bigint,\n            limit?: number | bigint,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (autoCloseType !== undefined && autoCloseType !== null) {\n                localVarQueryParameter['autoCloseType'] = autoCloseType;\n            }\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n            if (limit !== undefined && limit !== null) {\n                localVarQueryParameter['limit'] = limit;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/forceOrders',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query user's margin force orders\n         *\n         * Weight: 1\n         *\n         * @summary Query User\\'s Margin Force Orders(USER_DATA)\n         * @param {number | bigint} [startTime] Timestamp in ms to get funding from INCLUSIVE.\n         * @param {number | bigint} [endTime] Timestamp in ms to get funding until INCLUSIVE.\n         * @param {number | bigint} [current] Currently querying page. Start from 1. Default:1\n         * @param {number | bigint} [size] Default:10 Max:100\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryUsersMarginForceOrders: async (\n            startTime?: number | bigint,\n            endTime?: number | bigint,\n            current?: number | bigint,\n            size?: number | bigint,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n            if (current !== undefined && current !== null) {\n                localVarQueryParameter['current'] = current;\n            }\n            if (size !== undefined && size !== null) {\n                localVarQueryParameter['size'] = size;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/margin/forceOrders',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query User's UM Force Orders\n         *\n         * If `autoCloseType` is not sent, orders with both of the types will be returned\n         * If `startTime` is not sent, data within 7 days before `endTime` can be queried\n         * Only support querying data in the past 90 days\n         *\n         * Weight: 20 with symbol, 50 without symbol\n         *\n         * @summary Query User\\'s UM Force Orders (USER_DATA)\n         * @param {string} [symbol]\n         * @param {QueryUsersUmForceOrdersAutoCloseTypeEnum} [autoCloseType] `LIQUIDATION` for liquidation orders, `ADL` for ADL orders.\n         * @param {number | bigint} [startTime] Timestamp in ms to get funding from INCLUSIVE.\n         * @param {number | bigint} [endTime] Timestamp in ms to get funding until INCLUSIVE.\n         * @param {number | bigint} [limit] Default 100; max 1000\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryUsersUmForceOrders: async (\n            symbol?: string,\n            autoCloseType?: QueryUsersUmForceOrdersAutoCloseTypeEnum,\n            startTime?: number | bigint,\n            endTime?: number | bigint,\n            limit?: number | bigint,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (autoCloseType !== undefined && autoCloseType !== null) {\n                localVarQueryParameter['autoCloseType'] = autoCloseType;\n            }\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n            if (limit !== undefined && limit !== null) {\n                localVarQueryParameter['limit'] = limit;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/forceOrders',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Change user's BNB Fee Discount for UM Futures (Fee Discount On or Fee Discount Off ) on ***EVERY symbol***\n         *\n         *\n         * The BNB would not be collected from UM-PM account to the Portfolio Margin account.\n         *\n         * Weight: 1\n         *\n         * @summary Toggle BNB Burn On UM Futures Trade (TRADE)\n         * @param {string} feeBurn \"true\": Fee Discount On; \"false\": Fee Discount Off\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        toggleBnbBurnOnUmFuturesTrade: async (\n            feeBurn: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'feeBurn' is not null or undefined\n            assertParamExists('toggleBnbBurnOnUmFuturesTrade', 'feeBurn', feeBurn);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (feeBurn !== undefined && feeBurn !== null) {\n                localVarQueryParameter['feeBurn'] = feeBurn;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/feeBurn',\n                method: 'POST',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get trades for a specific account and UM symbol.\n         *\n         *\n         * If `startTime` and `endTime` are both not sent, then the last '7 days' data will be returned.\n         * The time between `startTime` and `endTime` cannot be longer than 7 days.\n         * The parameter `fromId` cannot be sent with `startTime` or `endTime`.\n         *\n         * Weight: 5\n         *\n         * @summary UM Account Trade List(USER_DATA)\n         * @param {string} symbol\n         * @param {number | bigint} [startTime] Timestamp in ms to get funding from INCLUSIVE.\n         * @param {number | bigint} [endTime] Timestamp in ms to get funding until INCLUSIVE.\n         * @param {number | bigint} [fromId] Trade id to fetch from. Default gets most recent trades.\n         * @param {number | bigint} [limit] Default 100; max 1000\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        umAccountTradeList: async (\n            symbol: string,\n            startTime?: number | bigint,\n            endTime?: number | bigint,\n            fromId?: number | bigint,\n            limit?: number | bigint,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('umAccountTradeList', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n            if (fromId !== undefined && fromId !== null) {\n                localVarQueryParameter['fromId'] = fromId;\n            }\n            if (limit !== undefined && limit !== null) {\n                localVarQueryParameter['limit'] = limit;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/userTrades',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query UM Position ADL Quantile Estimation\n         *\n         * Values update every 30s.\n         * Values 0, 1, 2, 3, 4 shows the queue position and possibility of ADL from low to high.\n         * For positions of the symbol are in One-way Mode or isolated margined in Hedge Mode, \"LONG\", \"SHORT\", and \"BOTH\" will be returned to show the positions' adl quantiles of different position sides.\n         * If the positions of the symbol are crossed margined in Hedge Mode:\n         * \"HEDGE\" as a sign will be returned instead of \"BOTH\";\n         * A same value caculated on unrealized pnls on long and short sides' positions will be shown for \"LONG\" and \"SHORT\" when there are positions in both of long and short sides.\n         *\n         * Weight: 5\n         *\n         * @summary UM Position ADL Quantile Estimation(USER_DATA)\n         * @param {string} [symbol]\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        umPositionAdlQuantileEstimation: async (\n            symbol?: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/adlQuantile',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n    };\n};\n\n/**\n * TradeApi - interface\n * @interface TradeApi\n */\nexport interface TradeApiInterface {\n    /**\n     * Cancel All CM Open Conditional Orders\n     *\n     * Weight: 1\n     *\n     * @summary Cancel All CM Open Conditional Orders(TRADE)\n     * @param {CancelAllCmOpenConditionalOrdersRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    cancelAllCmOpenConditionalOrders(\n        requestParameters: CancelAllCmOpenConditionalOrdersRequest\n    ): Promise<RestApiResponse<CancelAllCmOpenConditionalOrdersResponse>>;\n    /**\n     * Cancel all active LIMIT orders on specific symbol\n     *\n     * Weight: 1\n     *\n     * @summary Cancel All CM Open Orders(TRADE)\n     * @param {CancelAllCmOpenOrdersRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    cancelAllCmOpenOrders(\n        requestParameters: CancelAllCmOpenOrdersRequest\n    ): Promise<RestApiResponse<CancelAllCmOpenOrdersResponse>>;\n    /**\n     * Cancel All UM Algo Open Orders\n     *\n     * Weight: 1\n     *\n     * @summary Cancel All UM Algo Open Orders (TRADE)\n     * @param {CancelAllUmAlgoOpenOrdersRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    cancelAllUmAlgoOpenOrders(\n        requestParameters: CancelAllUmAlgoOpenOrdersRequest\n    ): Promise<RestApiResponse<CancelAllUmAlgoOpenOrdersResponse>>;\n    /**\n     * Cancel All UM Open Conditional Orders\n     *\n     * Weight: 1\n     *\n     * @summary Cancel All UM Open Conditional Orders\n     * @param {CancelAllUmOpenConditionalOrdersRequest} requestParameters Request parameters.\n     *\n     * @deprecated\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    cancelAllUmOpenConditionalOrders(\n        requestParameters: CancelAllUmOpenConditionalOrdersRequest\n    ): Promise<RestApiResponse<CancelAllUmOpenConditionalOrdersResponse>>;\n    /**\n     * Cancel all active LIMIT orders on specific symbol\n     *\n     * Weight: 1\n     *\n     * @summary Cancel All UM Open Orders(TRADE)\n     * @param {CancelAllUmOpenOrdersRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    cancelAllUmOpenOrders(\n        requestParameters: CancelAllUmOpenOrdersRequest\n    ): Promise<RestApiResponse<CancelAllUmOpenOrdersResponse>>;\n    /**\n     * Cancel CM Conditional Order\n     *\n     * Either `strategyId` or `newClientStrategyId` must be sent.\n     *\n     * Weight: 1\n     *\n     * @summary Cancel CM Conditional Order(TRADE)\n     * @param {CancelCmConditionalOrderRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    cancelCmConditionalOrder(\n        requestParameters: CancelCmConditionalOrderRequest\n    ): Promise<RestApiResponse<CancelCmConditionalOrderResponse>>;\n    /**\n     * Cancel an active LIMIT order\n     *\n     * Either `orderId` or `origClientOrderId` must be sent.\n     *\n     * Weight: 1\n     *\n     * @summary Cancel CM Order(TRADE)\n     * @param {CancelCmOrderRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    cancelCmOrder(\n        requestParameters: CancelCmOrderRequest\n    ): Promise<RestApiResponse<CancelCmOrderResponse>>;\n    /**\n     * Cancel Margin Account All Open Orders on a Symbol\n     *\n     * Weight: 5\n     *\n     * @summary Cancel Margin Account All Open Orders on a Symbol(TRADE)\n     * @param {CancelMarginAccountAllOpenOrdersOnASymbolRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    cancelMarginAccountAllOpenOrdersOnASymbol(\n        requestParameters: CancelMarginAccountAllOpenOrdersOnASymbolRequest\n    ): Promise<RestApiResponse<CancelMarginAccountAllOpenOrdersOnASymbolResponse>>;\n    /**\n     * Cancel Margin Account OCO Orders\n     *\n     * Additional notes: Canceling an individual leg will cancel the entire OCO\n     *\n     * Weight: 2\n     *\n     * @summary Cancel Margin Account OCO Orders(TRADE)\n     * @param {CancelMarginAccountOcoOrdersRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    cancelMarginAccountOcoOrders(\n        requestParameters: CancelMarginAccountOcoOrdersRequest\n    ): Promise<RestApiResponse<CancelMarginAccountOcoOrdersResponse>>;\n    /**\n     * Cancel Margin Account Order\n     *\n     * Either `orderId` or `origClientOrderId` must be sent.\n     *\n     * Weight: 2\n     *\n     * @summary Cancel Margin Account Order(TRADE)\n     * @param {CancelMarginAccountOrderRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    cancelMarginAccountOrder(\n        requestParameters: CancelMarginAccountOrderRequest\n    ): Promise<RestApiResponse<CancelMarginAccountOrderResponse>>;\n    /**\n     * Cancel an active UM algo order.\n     *\n     * Either `algoId` or `clientAlgoId` must be sent.\n     *\n     * Weight: 1\n     *\n     * @summary Cancel UM Algo Order (TRADE)\n     * @param {CancelUmAlgoOrderRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    cancelUmAlgoOrder(\n        requestParameters?: CancelUmAlgoOrderRequest\n    ): Promise<RestApiResponse<CancelUmAlgoOrderResponse>>;\n    /**\n     * Cancel UM Conditional Order\n     *\n     * Either `strategyId` or `newClientStrategyId` must be sent.\n     *\n     * Weight: 1\n     *\n     * @summary Cancel UM Conditional Order\n     * @param {CancelUmConditionalOrderRequest} requestParameters Request parameters.\n     *\n     * @deprecated\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    cancelUmConditionalOrder(\n        requestParameters: CancelUmConditionalOrderRequest\n    ): Promise<RestApiResponse<CancelUmConditionalOrderResponse>>;\n    /**\n     * Cancel an active UM LIMIT order\n     *\n     * Either `orderId` or `origClientOrderId` must be sent.\n     *\n     * Weight: 1\n     *\n     * @summary Cancel UM Order(TRADE)\n     * @param {CancelUmOrderRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    cancelUmOrder(\n        requestParameters: CancelUmOrderRequest\n    ): Promise<RestApiResponse<CancelUmOrderResponse>>;\n    /**\n     * Get trades for a specific account and CM symbol.\n     *\n     * Either `symbol` or `pair` must be sent\n     * `symbol` and `pair` cannot be sent together\n     * `pair` and `fromId` cannot be sent together\n     * `OrderId` can only be sent together with symbol\n     * If a `pair` is sent, tickers for all symbols of the `pair` will be returned\n     * The parameter `fromId` cannot be sent with `startTime` or `endTime`\n     * If `startTime` and `endTime` are both not sent, then the last '24 hours' data will be returned.\n     * The time between `startTime` and `endTime` cannot be longer than 24 hours.\n     *\n     * Weight: 20 with symbol, 40 with pair\n     *\n     * @summary CM Account Trade List(USER_DATA)\n     * @param {CmAccountTradeListRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    cmAccountTradeList(\n        requestParameters?: CmAccountTradeListRequest\n    ): Promise<RestApiResponse<CmAccountTradeListResponse>>;\n    /**\n     * Query CM Position ADL Quantile Estimation\n     * Values update every 30s.\n     * Values 0, 1, 2, 3, 4 shows the queue position and possibility of ADL from low to high.\n     * For positions of the symbol are in One-way Mode or isolated margined in Hedge Mode, \"LONG\", \"SHORT\", and \"BOTH\" will be returned to show the positions' adl quantiles of different position sides.\n     * If the positions of the symbol are crossed margined in Hedge Mode:\n     * \"HEDGE\" as a sign will be returned instead of \"BOTH\";\n     * A same value caculated on unrealized pnls on long and short sides' positions will be shown for \"LONG\" and \"SHORT\" when there are positions in both of long and short sides.\n     *\n     * Weight: 5\n     *\n     * @summary CM Position ADL Quantile Estimation(USER_DATA)\n     * @param {CmPositionAdlQuantileEstimationRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    cmPositionAdlQuantileEstimation(\n        requestParameters?: CmPositionAdlQuantileEstimationRequest\n    ): Promise<RestApiResponse<CmPositionAdlQuantileEstimationResponse>>;\n    /**\n     * Sign TradFi-Perps agreement contract\n     *\n     * Weight: 5\n     *\n     * @summary Futures TradFi Perps Contract(USER_DATA)\n     * @param {FuturesTradfiPerpsContractRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    futuresTradfiPerpsContract(\n        requestParameters?: FuturesTradfiPerpsContractRequest\n    ): Promise<RestApiResponse<FuturesTradfiPerpsContractResponse>>;\n    /**\n     * Get user's BNB Fee Discount for UM Futures (Fee Discount On or Fee Discount Off )\n     *\n     * Weight: 30\n     *\n     * @summary Get UM Futures BNB Burn Status (USER_DATA)\n     * @param {GetUmFuturesBnbBurnStatusRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    getUmFuturesBnbBurnStatus(\n        requestParameters?: GetUmFuturesBnbBurnStatusRequest\n    ): Promise<RestApiResponse<GetUmFuturesBnbBurnStatusResponse>>;\n    /**\n     * Apply for a margin loan.\n     *\n     * Weight: 100\n     *\n     * @summary Margin Account Borrow(MARGIN)\n     * @param {MarginAccountBorrowRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    marginAccountBorrow(\n        requestParameters: MarginAccountBorrowRequest\n    ): Promise<RestApiResponse<MarginAccountBorrowResponse>>;\n    /**\n     * Send in a new OCO for a margin account\n     *\n     * Price Restrictions:\n     * `SELL`: Limit Price > Last Price > Stop Price\n     * `BUY`: Limit Price < Last Price < Stop Price\n     * Quantity Restrictions:\n     * Both legs must have the same quantity\n     * `ICEBERG` quantities however do not have to be the same.\n     * Order Rate Limit\n     * `OCO` counts as 2 orders against the order rate limit.\n     *\n     * Weight: 1\n     *\n     * @summary Margin Account New OCO(TRADE)\n     * @param {MarginAccountNewOcoRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    marginAccountNewOco(\n        requestParameters: MarginAccountNewOcoRequest\n    ): Promise<RestApiResponse<MarginAccountNewOcoResponse>>;\n    /**\n     * Repay for a margin loan.\n     *\n     * Weight: 100\n     *\n     * @summary Margin Account Repay(MARGIN)\n     * @param {MarginAccountRepayRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    marginAccountRepay(\n        requestParameters: MarginAccountRepayRequest\n    ): Promise<RestApiResponse<MarginAccountRepayResponse>>;\n    /**\n     * Repay debt for a margin loan.\n     *\n     * The repay asset amount cannot exceed 50000 USD equivalent value for a single request.\n     * If `amount` is not sent, all the asset loan will be repaid if having enough specific repay assets.\n     * If `amount` is sent, only the certain amount of the asset loan will be repaid if having enough specific repay assets.\n     * The system will use the same asset to repay the loan first (if have) no matter whether put the asset in `specifyRepayAssets`\n     *\n     * Weight: 3000\n     *\n     * @summary Margin Account Repay Debt(TRADE)\n     * @param {MarginAccountRepayDebtRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    marginAccountRepayDebt(\n        requestParameters: MarginAccountRepayDebtRequest\n    ): Promise<RestApiResponse<MarginAccountRepayDebtResponse>>;\n    /**\n     * Margin Account Trade List\n     *\n     * Weight: 5\n     *\n     * @summary Margin Account Trade List (USER_DATA)\n     * @param {MarginAccountTradeListRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    marginAccountTradeList(\n        requestParameters: MarginAccountTradeListRequest\n    ): Promise<RestApiResponse<MarginAccountTradeListResponse>>;\n    /**\n     * Order modify function, currently only LIMIT order modification is supported, modified orders will be reordered in the match queue\n     *\n     * Either `orderId` or `origClientOrderId` must be sent, and the `orderId` will prevail if both are sent.\n     * Both `quantity` and `price` must be sent\n     * When the new `quantity` or `price` doesn't satisfy PRICE_FILTER / PERCENT_FILTER / LOT_SIZE, amendment will be rejected and the order will stay as it is.\n     * However the order will be cancelled by the amendment in the following situations:\n     * when the order is in partially filled status and the new `quantity` <= `executedQty`\n     * When the order is `GTX` and the new price will cause it to be executed immediately\n     *\n     * Weight: 1\n     *\n     * @summary Modify CM Order(TRADE)\n     * @param {ModifyCmOrderRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    modifyCmOrder(\n        requestParameters: ModifyCmOrderRequest\n    ): Promise<RestApiResponse<ModifyCmOrderResponse>>;\n    /**\n     * Order modify function, currently only LIMIT order modification is supported, modified orders will be reordered in the match queue\n     *\n     * Either orderId or origClientOrderId must be sent, and the orderId will prevail if both are sent.\n     * Both quantity and price must be sent\n     * When the new quantity or price doesn't satisfy PRICE_FILTER / PERCENT_FILTER / LOT_SIZE, amendment will be rejected and the order will stay as it is.\n     * However the order will be cancelled by the amendment in the following situations:\n     * when the order is in partially filled status and the new quantity <= executedQty\n     * When the order is GTX and the new price will cause it to be executed immediately\n     *\n     * Weight: 1\n     *\n     * @summary Modify UM Order(TRADE)\n     * @param {ModifyUmOrderRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    modifyUmOrder(\n        requestParameters: ModifyUmOrderRequest\n    ): Promise<RestApiResponse<ModifyUmOrderResponse>>;\n    /**\n     * New CM Conditional Order\n     *\n     * Order with type `STOP/TAKE_PROFIT`, parameter `timeInForce` can be sent ( default `GTC`).\n     * Condition orders will be triggered when:\n     * `STOP`, `STOP_MARKET`:\n     * BUY: \"MARK_PRICE\"  >= `stopPrice`\n     * SELL: \"MARK_PRICE\" <= `stopPrice`\n     * `TAKE_PROFIT`, `TAKE_PROFIT_MARKET`:\n     * BUY: \"MARK_PRICE\" <= `stopPrice`\n     * SELL: \"MARK_PRICE\" >= `stopPrice`\n     * `TRAILING_STOP_MARKET`:\n     * BUY: the lowest mark price after order placed `<= `activationPrice`, and the latest mark price >`= the lowest mark price * (1 + `callbackRate`)\n     * SELL: the highest mark price after order placed >= `activationPrice`, and the latest mark price <= the highest mark price * (1 - `callbackRate`)\n     * For `TRAILING_STOP_MARKET`, if you got such error code. `{\"code\": -2021, \"msg\": \"Order would immediately trigger.\"}` means that the parameters you send do not meet the following requirements:\n     * BUY: `activationPrice` should be smaller than latest mark price.\n     * SELL: `activationPrice` should be larger than latest mark price.\n     * Condition orders will be triggered when:\n     * If parameter`priceProtect`is sent as true:\n     * when price reaches the `stopPrice` ，the difference rate between \"MARK_PRICE\" and \"CONTRACT_PRICE\" cannot be larger than the \"triggerProtect\" of the symbol\n     * \"triggerProtect\" of a symbol can be got from `GET /fapi/v1/exchangeInfo`\n     * `STOP`, `STOP_MARKET`:\n     * BUY: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") >= `stopPrice`\n     * SELL: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") <= `stopPrice`\n     * `TAKE_PROFIT`, `TAKE_PROFIT_MARKET`:\n     * BUY: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") <= `stopPrice`\n     * SELL: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") >= `stopPrice`\n     *\n     * Weight: 1\n     *\n     * @summary New CM Conditional Order(TRADE)\n     * @param {NewCmConditionalOrderRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    newCmConditionalOrder(\n        requestParameters: NewCmConditionalOrderRequest\n    ): Promise<RestApiResponse<NewCmConditionalOrderResponse>>;\n    /**\n     * Place new CM order\n     *\n     * If `newOrderRespType` is sent as `RESULT` :\n     * `MARKET` order: the final FILLED result of the order will be return directly.\n     * `LIMIT` order with special `timeInForce`: the final status result of the order(FILLED or EXPIRED) will be returned directly.\n     *\n     * Weight: 1\n     *\n     * @summary New CM Order(TRADE)\n     * @param {NewCmOrderRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    newCmOrder(requestParameters: NewCmOrderRequest): Promise<RestApiResponse<NewCmOrderResponse>>;\n    /**\n     * New Margin Order\n     *\n     * Weight: 1\n     *\n     * @summary New Margin Order(TRADE)\n     * @param {NewMarginOrderRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    newMarginOrder(\n        requestParameters: NewMarginOrderRequest\n    ): Promise<RestApiResponse<NewMarginOrderResponse>>;\n    /**\n     * Place new UM conditional order\n     *\n     * Algo order with type `STOP`,  parameter `timeInForce` can be sent ( default `GTC`).\n     * Algo order with type `TAKE_PROFIT`,  parameter `timeInForce` can be sent ( default `GTC`).\n     * Condition orders will be triggered when:\n     *\n     * If parameter`priceProtect`is sent as true:\n     * when price reaches the `triggerPrice` , the difference rate between \"MARK_PRICE\" and \"CONTRACT_PRICE\" cannot be larger than the \"triggerProtect\" of the symbol\n     * \"triggerProtect\" of a symbol can be got from `GET /fapi/v1/exchangeInfo`\n     *\n     * `STOP`, `STOP_MARKET`:\n     * BUY: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") >= `triggerPrice`\n     * SELL: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") <= `triggerPrice`\n     * `TAKE_PROFIT`, `TAKE_PROFIT_MARKET`:\n     * BUY: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") <= `triggerPrice`\n     * SELL: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") >= `triggerPrice`\n     * `TRAILING_STOP_MARKET`:\n     * BUY: the lowest price after order placed <= `activatePrice`, and the latest price >= the lowest price * (1 + `callbackRate`)\n     * SELL: the highest price after order placed >= `activatePrice`, and the latest price <= the highest price * (1 - `callbackRate`)\n     *\n     * For `TRAILING_STOP_MARKET`, if you got such error code.\n     * ``{\"code\": -2021, \"msg\": \"Order would immediately trigger.\"}``\n     * means that the parameters you send do not meet the following requirements:\n     * BUY: `activatePrice` should be smaller than latest price.\n     * SELL: `activatePrice` should be larger than latest price.\n     *\n     * `selfTradePreventionMode` is only effective when `timeInForce` set to `IOC` or `GTC` or `GTD`.\n     *\n     * Weight: 1\n     *\n     * @summary New UM Algo Order (TRADE)\n     * @param {NewUmAlgoOrderRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    newUmAlgoOrder(\n        requestParameters: NewUmAlgoOrderRequest\n    ): Promise<RestApiResponse<NewUmAlgoOrderResponse>>;\n    /**\n     * Place new UM conditional order\n     *\n     * Order with type `STOP/TAKE_PROFIT`, parameter `timeInForce` can be sent ( default `GTC`).\n     * Condition orders will be triggered when:\n     * `STOP`, `STOP_MARKET`:\n     * BUY: \"MARK_PRICE\"  >= `stopPrice`\n     * SELL: \"MARK_PRICE\" <= `stopPrice`\n     * `TAKE_PROFIT`, `TAKE_PROFIT_MARKET`:\n     * BUY: \"MARK_PRICE\" <= `stopPrice`\n     * SELL: \"MARK_PRICE\" >= `stopPrice`\n     * `TRAILING_STOP_MARKET`:\n     * BUY: the lowest mark price after order placed `<= `activationPrice`, and the latest mark price >`= the lowest mark price * (1 + `callbackRate`)\n     * SELL: the highest mark price after order placed >= `activationPrice`, and the latest mark price <= the highest mark price * (1 - `callbackRate`)\n     * For `TRAILING_STOP_MARKET`, if you got such error code. `{\"code\": -2021, \"msg\": \"Order would immediately trigger.\"}` means that the parameters you send do not meet the following requirements:\n     * BUY: `activationPrice` should be smaller than latest mark price.\n     * SELL: `activationPrice` should be larger than latest mark price.\n     * Condition orders will be triggered when:\n     * If parameter`priceProtect`is sent as true:\n     * when price reaches the `stopPrice` ，the difference rate between \"MARK_PRICE\" and \"CONTRACT_PRICE\" cannot be larger than the \"triggerProtect\" of the symbol\n     * \"triggerProtect\" of a symbol can be got from `GET /fapi/v1/exchangeInfo`\n     * `STOP`, `STOP_MARKET`:\n     * BUY: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") >= `stopPrice`\n     * SELL: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") <= `stopPrice`\n     * `TAKE_PROFIT`, `TAKE_PROFIT_MARKET`:\n     * BUY: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") <= `stopPrice`\n     * SELL: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") >= `stopPrice`\n     * `selfTradePreventionMode` is only effective when `timeInForce` set to `IOC` or `GTC` or `GTD`.\n     * In extreme market conditions, timeInForce `GTD` order auto cancel time might be delayed comparing to `goodTillDate`\n     *\n     * Weight: 1\n     *\n     * @summary New UM Conditional Order\n     * @param {NewUmConditionalOrderRequest} requestParameters Request parameters.\n     *\n     * @deprecated\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    newUmConditionalOrder(\n        requestParameters: NewUmConditionalOrderRequest\n    ): Promise<RestApiResponse<NewUmConditionalOrderResponse>>;\n    /**\n     * Place new UM order\n     *\n     * If `newOrderRespType` is sent as `RESULT` :\n     * `MARKET` order: the final FILLED result of the order will be return directly.\n     * `LIMIT` order with special `timeInForce`: the final status result of the order(FILLED or EXPIRED) will be returned directly.\n     * `selfTradePreventionMode` is only effective when `timeInForce` set to `IOC` or `GTC` or `GTD`.\n     * In extreme market conditions, timeInForce `GTD` order auto cancel time might be delayed comparing to `goodTillDate`\n     *\n     * Weight: 1\n     *\n     * @summary New UM Order (TRADE)\n     * @param {NewUmOrderRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    newUmOrder(requestParameters: NewUmOrderRequest): Promise<RestApiResponse<NewUmOrderResponse>>;\n    /**\n     * Query All CM Conditional Orders\n     *\n     * These orders will not be found:\n     * order strategyStatus is `CANCELED` or `EXPIRED`, **AND**\n     * order has NO filled trade, **AND**\n     * created time + 7 days < current time\n     * The query time period must be less than 7 days( default as the recent 7 days).\n     *\n     * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n     *\n     * @summary Query All CM Conditional Orders(USER_DATA)\n     * @param {QueryAllCmConditionalOrdersRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryAllCmConditionalOrders(\n        requestParameters?: QueryAllCmConditionalOrdersRequest\n    ): Promise<RestApiResponse<QueryAllCmConditionalOrdersResponse>>;\n    /**\n     * Get all account CM orders; active, canceled, or filled.\n     *\n     * Either `symbol` or `pair` must be sent.\n     * If `orderId` is set, it will get orders >= that orderId. Otherwise most recent orders are returned.\n     * These orders will not be found:\n     * order status is `CANCELED` or `EXPIRED`, **AND**\n     * order has NO filled trade, **AND**\n     * created time + 3 days < current time\n     *\n     * Weight: 20 with symbol, 40 with pair\n     *\n     * @summary Query All CM Orders (USER_DATA)\n     * @param {QueryAllCmOrdersRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryAllCmOrders(\n        requestParameters: QueryAllCmOrdersRequest\n    ): Promise<RestApiResponse<QueryAllCmOrdersResponse>>;\n    /**\n     * Get all open conditional orders on a symbol. **Careful** when accessing this with no symbol.\n     *\n     * If the symbol is not sent, orders for all symbols will be returned in an array.\n     *\n     * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n     *\n     * @summary Query All Current CM Open Conditional Orders (USER_DATA)\n     * @param {QueryAllCurrentCmOpenConditionalOrdersRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryAllCurrentCmOpenConditionalOrders(\n        requestParameters?: QueryAllCurrentCmOpenConditionalOrdersRequest\n    ): Promise<RestApiResponse<QueryAllCurrentCmOpenConditionalOrdersResponse>>;\n    /**\n     * Get all open orders on a symbol.\n     *\n     * If the symbol is not sent, orders for all symbols will be returned in an array.\n     *\n     * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n     * Careful when accessing this with no symbol.\n     *\n     * @summary Query All Current CM Open Orders(USER_DATA)\n     * @param {QueryAllCurrentCmOpenOrdersRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryAllCurrentCmOpenOrders(\n        requestParameters?: QueryAllCurrentCmOpenOrdersRequest\n    ): Promise<RestApiResponse<QueryAllCurrentCmOpenOrdersResponse>>;\n    /**\n     * Get all UM open algo orders on a symbol.\n     *\n     * If the symbol is not sent, orders for all symbols will be returned in an array.\n     *\n     * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n     * Careful when accessing this with no symbol.\n     *\n     * @summary Query All Current UM Open Algo Orders (USER_DATA)\n     * @param {QueryAllCurrentUmOpenAlgoOrdersRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryAllCurrentUmOpenAlgoOrders(\n        requestParameters?: QueryAllCurrentUmOpenAlgoOrdersRequest\n    ): Promise<RestApiResponse<QueryAllCurrentUmOpenAlgoOrdersResponse>>;\n    /**\n     * Get all open conditional orders on a symbol.\n     *\n     * If the symbol is not sent, orders for all symbols will be returned in an array.\n     *\n     * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n     * Careful when accessing this with no symbol.\n     *\n     * @summary Query All Current UM Open Conditional Orders\n     * @param {QueryAllCurrentUmOpenConditionalOrdersRequest} requestParameters Request parameters.\n     *\n     * @deprecated\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryAllCurrentUmOpenConditionalOrders(\n        requestParameters?: QueryAllCurrentUmOpenConditionalOrdersRequest\n    ): Promise<RestApiResponse<QueryAllCurrentUmOpenConditionalOrdersResponse>>;\n    /**\n     * Get all open orders on a symbol.\n     *\n     *\n     * If the symbol is not sent, orders for all symbols will be returned in an array.\n     *\n     * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n     *\n     * @summary Query All Current UM Open Orders(USER_DATA)\n     * @param {QueryAllCurrentUmOpenOrdersRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryAllCurrentUmOpenOrders(\n        requestParameters?: QueryAllCurrentUmOpenOrdersRequest\n    ): Promise<RestApiResponse<QueryAllCurrentUmOpenOrdersResponse>>;\n    /**\n     * Query All Margin Account Orders\n     *\n     * Weight: 100\n     *\n     * @summary Query All Margin Account Orders (USER_DATA)\n     * @param {QueryAllMarginAccountOrdersRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryAllMarginAccountOrders(\n        requestParameters: QueryAllMarginAccountOrdersRequest\n    ): Promise<RestApiResponse<QueryAllMarginAccountOrdersResponse>>;\n    /**\n     * Query All UM Conditional Orders\n     *\n     * These orders will not be found:\n     * order strategyStatus is `CANCELED` or `EXPIRED`, **AND**\n     * order has NO filled trade, **AND**\n     * created time + 7 days < current time\n     * The query time period must be less than 7 days( default as the recent 7 days).\n     *\n     * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n     *\n     * @summary Query All UM Conditional Orders\n     * @param {QueryAllUmConditionalOrdersRequest} requestParameters Request parameters.\n     *\n     * @deprecated\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryAllUmConditionalOrders(\n        requestParameters?: QueryAllUmConditionalOrdersRequest\n    ): Promise<RestApiResponse<QueryAllUmConditionalOrdersResponse>>;\n    /**\n     * Get all account UM orders; active, canceled, or filled.\n     * These orders will not be found:\n     * order status is `CANCELED` or `EXPIRED`, **AND**\n     * order has NO filled trade, **AND**\n     * created time + 3 days < current time\n     *\n     * If `orderId` is set, it will get orders >= that orderId. Otherwise most recent orders are returned.\n     * The query time period must be less then 7 days( default as the recent 7 days).\n     *\n     * Weight: 5\n     *\n     * @summary Query All UM Orders(USER_DATA)\n     * @param {QueryAllUmOrdersRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryAllUmOrders(\n        requestParameters: QueryAllUmOrdersRequest\n    ): Promise<RestApiResponse<QueryAllUmOrdersResponse>>;\n    /**\n     * Query CM Conditional Order History\n     *\n     *\n     * Either `strategyId` or `newClientStrategyId` must be sent.\n     * `NEW` orders will not be found.\n     * These orders will not be found:\n     * order status is `CANCELED` or `EXPIRED`, **AND**\n     * order has NO filled trade, **AND**\n     * created time + 7 days < current time\n     *\n     * Weight: 1\n     *\n     * @summary Query CM Conditional Order History(USER_DATA)\n     * @param {QueryCmConditionalOrderHistoryRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryCmConditionalOrderHistory(\n        requestParameters: QueryCmConditionalOrderHistoryRequest\n    ): Promise<RestApiResponse<QueryCmConditionalOrderHistoryResponse>>;\n    /**\n     * Get order modification history\n     *\n     * Either `orderId` or `origClientOrderId` must be sent, and the `orderId` will prevail if both are sent.\n     *\n     * Weight: 1\n     *\n     * @summary Query CM Modify Order History(TRADE)\n     * @param {QueryCmModifyOrderHistoryRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryCmModifyOrderHistory(\n        requestParameters: QueryCmModifyOrderHistoryRequest\n    ): Promise<RestApiResponse<QueryCmModifyOrderHistoryResponse>>;\n    /**\n     * Check an CM order's status.\n     *\n     * Either `orderId` or `origClientOrderId` must be sent.\n     * These orders will not be found:\n     * order status is `CANCELED` or `EXPIRED`, **AND**\n     * order has NO filled trade, **AND**\n     * created time + 3 days < current time\n     *\n     * Weight: 1\n     *\n     * @summary Query CM Order(USER_DATA)\n     * @param {QueryCmOrderRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryCmOrder(\n        requestParameters: QueryCmOrderRequest\n    ): Promise<RestApiResponse<QueryCmOrderResponse>>;\n    /**\n     * Query Current CM Open Conditional Order\n     *\n     * Either `strategyId` or `newClientStrategyId` must be sent.\n     * If the queried order has been triggered, cancelled or expired, the error message \"Order does not exist\" will be returned.\n     *\n     * Weight: 1\n     *\n     * @summary Query Current CM Open Conditional Order(USER_DATA)\n     * @param {QueryCurrentCmOpenConditionalOrderRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryCurrentCmOpenConditionalOrder(\n        requestParameters: QueryCurrentCmOpenConditionalOrderRequest\n    ): Promise<RestApiResponse<QueryCurrentCmOpenConditionalOrderResponse>>;\n    /**\n     * Query current CM open order\n     *\n     * Either `orderId` or `origClientOrderId` must be sent.\n     * If the queried order has been filled or cancelled, the error message \"Order does not exist\" will be returned.\n     *\n     * Weight: 1\n     *\n     * @summary Query Current CM Open Order (USER_DATA)\n     * @param {QueryCurrentCmOpenOrderRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryCurrentCmOpenOrder(\n        requestParameters: QueryCurrentCmOpenOrderRequest\n    ): Promise<RestApiResponse<QueryCurrentCmOpenOrderResponse>>;\n    /**\n     * Query Current Margin Open Order\n     *\n     * Weight: 5\n     *\n     * @summary Query Current Margin Open Order (USER_DATA)\n     * @param {QueryCurrentMarginOpenOrderRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryCurrentMarginOpenOrder(\n        requestParameters: QueryCurrentMarginOpenOrderRequest\n    ): Promise<RestApiResponse<QueryCurrentMarginOpenOrderResponse>>;\n    /**\n     * Check an UM algo order's status.\n     *\n     * These orders will not be found:\n     * order status is `CANCELED` or `EXPIRED` **AND** order has NO filled trade **AND** created time + 3 days < current time\n     * order create time + 90 days < current time\n     *\n     * Either `algoId` or `clientAlgoId` must be sent.\n     * `algoId` is self-increment for each specific `symbol`\n     *\n     * Weight: 1\n     *\n     * @summary Query Current UM Open Algo Order (USER_DATA)\n     * @param {QueryCurrentUmOpenAlgoOrderRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryCurrentUmOpenAlgoOrder(\n        requestParameters?: QueryCurrentUmOpenAlgoOrderRequest\n    ): Promise<RestApiResponse<QueryCurrentUmOpenAlgoOrderResponse>>;\n    /**\n     * Query Current UM Open Conditional Order\n     *\n     * Either `strategyId` or `newClientStrategyId` must be sent.\n     * If the queried order has been `CANCELED`, `TRIGGERED` or `EXPIRED`, the error message \"Order does not exist\" will be returned.\n     *\n     * Weight: 1\n     *\n     * @summary Query Current UM Open Conditional Order\n     * @param {QueryCurrentUmOpenConditionalOrderRequest} requestParameters Request parameters.\n     *\n     * @deprecated\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryCurrentUmOpenConditionalOrder(\n        requestParameters: QueryCurrentUmOpenConditionalOrderRequest\n    ): Promise<RestApiResponse<QueryCurrentUmOpenConditionalOrderResponse>>;\n    /**\n     * Query current UM open order\n     *\n     *\n     * Either `orderId` or `origClientOrderId` must be sent.\n     * If the queried order has been filled or cancelled, the error message \"Order does not exist\" will be returned.\n     *\n     * Weight: 1\n     *\n     * @summary Query Current UM Open Order(USER_DATA)\n     * @param {QueryCurrentUmOpenOrderRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryCurrentUmOpenOrder(\n        requestParameters: QueryCurrentUmOpenOrderRequest\n    ): Promise<RestApiResponse<QueryCurrentUmOpenOrderResponse>>;\n    /**\n     * Query Margin Account Order\n     *\n     * Weight: 10\n     *\n     * @summary Query Margin Account Order (USER_DATA)\n     * @param {QueryMarginAccountOrderRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryMarginAccountOrder(\n        requestParameters: QueryMarginAccountOrderRequest\n    ): Promise<RestApiResponse<QueryMarginAccountOrderResponse>>;\n    /**\n     * Query all OCO for a specific margin account based on provided optional parameters\n     *\n     * Weight: 100\n     *\n     * @summary Query Margin Account\\'s all OCO (USER_DATA)\n     * @param {QueryMarginAccountsAllOcoRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryMarginAccountsAllOco(\n        requestParameters?: QueryMarginAccountsAllOcoRequest\n    ): Promise<RestApiResponse<QueryMarginAccountsAllOcoResponse>>;\n    /**\n     * Retrieves a specific OCO based on provided optional parameters\n     *\n     * Weight: 5\n     *\n     * @summary Query Margin Account\\'s OCO (USER_DATA)\n     * @param {QueryMarginAccountsOcoRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryMarginAccountsOco(\n        requestParameters?: QueryMarginAccountsOcoRequest\n    ): Promise<RestApiResponse<QueryMarginAccountsOcoResponse>>;\n    /**\n     * Query Margin Account's Open OCO\n     *\n     * Weight: 5\n     *\n     * @summary Query Margin Account\\'s Open OCO (USER_DATA)\n     * @param {QueryMarginAccountsOpenOcoRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryMarginAccountsOpenOco(\n        requestParameters?: QueryMarginAccountsOpenOcoRequest\n    ): Promise<RestApiResponse<QueryMarginAccountsOpenOcoResponse>>;\n    /**\n     * Get all algo orders; ACTIVE, CANCELED, TRIGGERED or FINISHED .\n     *\n     * If `algoId` is set, it will get orders >= that `algoId`. Otherwise most recent orders are returned.\n     * The query time period must be less then 7 days( default as the recent 7 days).\n     *\n     * Weight: 5\n     *\n     * @summary Query UM Algo Order History (USER_DATA)\n     * @param {QueryUmAlgoOrderHistoryRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryUmAlgoOrderHistory(\n        requestParameters: QueryUmAlgoOrderHistoryRequest\n    ): Promise<RestApiResponse<QueryUmAlgoOrderHistoryResponse>>;\n    /**\n     * Query UM Conditional Order History\n     *\n     * Either `strategyId` or `newClientStrategyId` must be sent.\n     * `NEW` orders will not be found.\n     * These orders will not be found:\n     * order status is `CANCELED` or `EXPIRED`, **AND**\n     * order has NO filled trade, **AND**\n     * created time + 7 days < current time\n     *\n     * Weight: 1\n     *\n     * @summary Query UM Conditional Order History\n     * @param {QueryUmConditionalOrderHistoryRequest} requestParameters Request parameters.\n     *\n     * @deprecated\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryUmConditionalOrderHistory(\n        requestParameters: QueryUmConditionalOrderHistoryRequest\n    ): Promise<RestApiResponse<QueryUmConditionalOrderHistoryResponse>>;\n    /**\n     * Get order modification history\n     *\n     * Either `orderId` or `origClientOrderId` must be sent, and the `orderId` will prevail if both are sent.\n     *\n     * Weight: 1\n     *\n     * @summary Query UM Modify Order History(TRADE)\n     * @param {QueryUmModifyOrderHistoryRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryUmModifyOrderHistory(\n        requestParameters: QueryUmModifyOrderHistoryRequest\n    ): Promise<RestApiResponse<QueryUmModifyOrderHistoryResponse>>;\n    /**\n     * Check an UM order's status.\n     *\n     * These orders will not be found:\n     * Either `orderId` or `origClientOrderId` must be sent.\n     * order status is `CANCELED` or `EXPIRED`, **AND**\n     * order has NO filled trade, **AND**\n     * created time + 3 days < current time\n     *\n     * Weight: 1\n     *\n     * @summary Query UM Order (USER_DATA)\n     * @param {QueryUmOrderRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryUmOrder(\n        requestParameters: QueryUmOrderRequest\n    ): Promise<RestApiResponse<QueryUmOrderResponse>>;\n    /**\n     * Query User's CM Force Orders\n     *\n     * If \"autoCloseType\" is not sent, orders with both of the types will be returned\n     * If \"startTime\" is not sent, data within 7 days before \"endTime\" can be queried\n     * Only support querying data in the past 90 days\n     *\n     * Weight: 20 with symbol, 50 without symbol\n     *\n     * @summary Query User\\'s CM Force Orders(USER_DATA)\n     * @param {QueryUsersCmForceOrdersRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryUsersCmForceOrders(\n        requestParameters?: QueryUsersCmForceOrdersRequest\n    ): Promise<RestApiResponse<QueryUsersCmForceOrdersResponse>>;\n    /**\n     * Query user's margin force orders\n     *\n     * Weight: 1\n     *\n     * @summary Query User\\'s Margin Force Orders(USER_DATA)\n     * @param {QueryUsersMarginForceOrdersRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryUsersMarginForceOrders(\n        requestParameters?: QueryUsersMarginForceOrdersRequest\n    ): Promise<RestApiResponse<QueryUsersMarginForceOrdersResponse>>;\n    /**\n     * Query User's UM Force Orders\n     *\n     * If `autoCloseType` is not sent, orders with both of the types will be returned\n     * If `startTime` is not sent, data within 7 days before `endTime` can be queried\n     * Only support querying data in the past 90 days\n     *\n     * Weight: 20 with symbol, 50 without symbol\n     *\n     * @summary Query User\\'s UM Force Orders (USER_DATA)\n     * @param {QueryUsersUmForceOrdersRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryUsersUmForceOrders(\n        requestParameters?: QueryUsersUmForceOrdersRequest\n    ): Promise<RestApiResponse<QueryUsersUmForceOrdersResponse>>;\n    /**\n     * Change user's BNB Fee Discount for UM Futures (Fee Discount On or Fee Discount Off ) on ***EVERY symbol***\n     *\n     *\n     * The BNB would not be collected from UM-PM account to the Portfolio Margin account.\n     *\n     * Weight: 1\n     *\n     * @summary Toggle BNB Burn On UM Futures Trade (TRADE)\n     * @param {ToggleBnbBurnOnUmFuturesTradeRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    toggleBnbBurnOnUmFuturesTrade(\n        requestParameters: ToggleBnbBurnOnUmFuturesTradeRequest\n    ): Promise<RestApiResponse<ToggleBnbBurnOnUmFuturesTradeResponse>>;\n    /**\n     * Get trades for a specific account and UM symbol.\n     *\n     *\n     * If `startTime` and `endTime` are both not sent, then the last '7 days' data will be returned.\n     * The time between `startTime` and `endTime` cannot be longer than 7 days.\n     * The parameter `fromId` cannot be sent with `startTime` or `endTime`.\n     *\n     * Weight: 5\n     *\n     * @summary UM Account Trade List(USER_DATA)\n     * @param {UmAccountTradeListRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    umAccountTradeList(\n        requestParameters: UmAccountTradeListRequest\n    ): Promise<RestApiResponse<UmAccountTradeListResponse>>;\n    /**\n     * Query UM Position ADL Quantile Estimation\n     *\n     * Values update every 30s.\n     * Values 0, 1, 2, 3, 4 shows the queue position and possibility of ADL from low to high.\n     * For positions of the symbol are in One-way Mode or isolated margined in Hedge Mode, \"LONG\", \"SHORT\", and \"BOTH\" will be returned to show the positions' adl quantiles of different position sides.\n     * If the positions of the symbol are crossed margined in Hedge Mode:\n     * \"HEDGE\" as a sign will be returned instead of \"BOTH\";\n     * A same value caculated on unrealized pnls on long and short sides' positions will be shown for \"LONG\" and \"SHORT\" when there are positions in both of long and short sides.\n     *\n     * Weight: 5\n     *\n     * @summary UM Position ADL Quantile Estimation(USER_DATA)\n     * @param {UmPositionAdlQuantileEstimationRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    umPositionAdlQuantileEstimation(\n        requestParameters?: UmPositionAdlQuantileEstimationRequest\n    ): Promise<RestApiResponse<UmPositionAdlQuantileEstimationResponse>>;\n}\n\n/**\n * Request parameters for cancelAllCmOpenConditionalOrders operation in TradeApi.\n * @interface CancelAllCmOpenConditionalOrdersRequest\n */\nexport interface CancelAllCmOpenConditionalOrdersRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiCancelAllCmOpenConditionalOrders\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiCancelAllCmOpenConditionalOrders\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for cancelAllCmOpenOrders operation in TradeApi.\n * @interface CancelAllCmOpenOrdersRequest\n */\nexport interface CancelAllCmOpenOrdersRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiCancelAllCmOpenOrders\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiCancelAllCmOpenOrders\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for cancelAllUmAlgoOpenOrders operation in TradeApi.\n * @interface CancelAllUmAlgoOpenOrdersRequest\n */\nexport interface CancelAllUmAlgoOpenOrdersRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiCancelAllUmAlgoOpenOrders\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiCancelAllUmAlgoOpenOrders\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for cancelAllUmOpenConditionalOrders operation in TradeApi.\n * @interface CancelAllUmOpenConditionalOrdersRequest\n */\nexport interface CancelAllUmOpenConditionalOrdersRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiCancelAllUmOpenConditionalOrders\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiCancelAllUmOpenConditionalOrders\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for cancelAllUmOpenOrders operation in TradeApi.\n * @interface CancelAllUmOpenOrdersRequest\n */\nexport interface CancelAllUmOpenOrdersRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiCancelAllUmOpenOrders\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiCancelAllUmOpenOrders\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for cancelCmConditionalOrder operation in TradeApi.\n * @interface CancelCmConditionalOrderRequest\n */\nexport interface CancelCmConditionalOrderRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiCancelCmConditionalOrder\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiCancelCmConditionalOrder\n     */\n    readonly strategyId?: number | bigint;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiCancelCmConditionalOrder\n     */\n    readonly newClientStrategyId?: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiCancelCmConditionalOrder\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for cancelCmOrder operation in TradeApi.\n * @interface CancelCmOrderRequest\n */\nexport interface CancelCmOrderRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiCancelCmOrder\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiCancelCmOrder\n     */\n    readonly orderId?: number | bigint;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiCancelCmOrder\n     */\n    readonly origClientOrderId?: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiCancelCmOrder\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for cancelMarginAccountAllOpenOrdersOnASymbol operation in TradeApi.\n * @interface CancelMarginAccountAllOpenOrdersOnASymbolRequest\n */\nexport interface CancelMarginAccountAllOpenOrdersOnASymbolRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiCancelMarginAccountAllOpenOrdersOnASymbol\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiCancelMarginAccountAllOpenOrdersOnASymbol\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for cancelMarginAccountOcoOrders operation in TradeApi.\n * @interface CancelMarginAccountOcoOrdersRequest\n */\nexport interface CancelMarginAccountOcoOrdersRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiCancelMarginAccountOcoOrders\n     */\n    readonly symbol: string;\n\n    /**\n     * Either `orderListId` or `listClientOrderId` must be provided\n     * @type {number | bigint}\n     * @memberof TradeApiCancelMarginAccountOcoOrders\n     */\n    readonly orderListId?: number | bigint;\n\n    /**\n     * Either `orderListId` or `listClientOrderId` must be provided\n     * @type {string}\n     * @memberof TradeApiCancelMarginAccountOcoOrders\n     */\n    readonly listClientOrderId?: string;\n\n    /**\n     * Used to uniquely identify this cancel. Automatically generated by default\n     * @type {string}\n     * @memberof TradeApiCancelMarginAccountOcoOrders\n     */\n    readonly newClientOrderId?: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiCancelMarginAccountOcoOrders\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for cancelMarginAccountOrder operation in TradeApi.\n * @interface CancelMarginAccountOrderRequest\n */\nexport interface CancelMarginAccountOrderRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiCancelMarginAccountOrder\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiCancelMarginAccountOrder\n     */\n    readonly orderId?: number | bigint;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiCancelMarginAccountOrder\n     */\n    readonly origClientOrderId?: string;\n\n    /**\n     * Used to uniquely identify this cancel. Automatically generated by default\n     * @type {string}\n     * @memberof TradeApiCancelMarginAccountOrder\n     */\n    readonly newClientOrderId?: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiCancelMarginAccountOrder\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for cancelUmAlgoOrder operation in TradeApi.\n * @interface CancelUmAlgoOrderRequest\n */\nexport interface CancelUmAlgoOrderRequest {\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiCancelUmAlgoOrder\n     */\n    readonly algoId?: number | bigint;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiCancelUmAlgoOrder\n     */\n    readonly clientAlgoId?: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiCancelUmAlgoOrder\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for cancelUmConditionalOrder operation in TradeApi.\n * @interface CancelUmConditionalOrderRequest\n */\nexport interface CancelUmConditionalOrderRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiCancelUmConditionalOrder\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiCancelUmConditionalOrder\n     */\n    readonly strategyId?: number | bigint;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiCancelUmConditionalOrder\n     */\n    readonly newClientStrategyId?: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiCancelUmConditionalOrder\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for cancelUmOrder operation in TradeApi.\n * @interface CancelUmOrderRequest\n */\nexport interface CancelUmOrderRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiCancelUmOrder\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiCancelUmOrder\n     */\n    readonly orderId?: number | bigint;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiCancelUmOrder\n     */\n    readonly origClientOrderId?: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiCancelUmOrder\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for cmAccountTradeList operation in TradeApi.\n * @interface CmAccountTradeListRequest\n */\nexport interface CmAccountTradeListRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiCmAccountTradeList\n     */\n    readonly symbol?: string;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiCmAccountTradeList\n     */\n    readonly pair?: string;\n\n    /**\n     * Timestamp in ms to get funding from INCLUSIVE.\n     * @type {number | bigint}\n     * @memberof TradeApiCmAccountTradeList\n     */\n    readonly startTime?: number | bigint;\n\n    /**\n     * Timestamp in ms to get funding until INCLUSIVE.\n     * @type {number | bigint}\n     * @memberof TradeApiCmAccountTradeList\n     */\n    readonly endTime?: number | bigint;\n\n    /**\n     * Trade id to fetch from. Default gets most recent trades.\n     * @type {number | bigint}\n     * @memberof TradeApiCmAccountTradeList\n     */\n    readonly fromId?: number | bigint;\n\n    /**\n     * Default 100; max 1000\n     * @type {number | bigint}\n     * @memberof TradeApiCmAccountTradeList\n     */\n    readonly limit?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiCmAccountTradeList\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for cmPositionAdlQuantileEstimation operation in TradeApi.\n * @interface CmPositionAdlQuantileEstimationRequest\n */\nexport interface CmPositionAdlQuantileEstimationRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiCmPositionAdlQuantileEstimation\n     */\n    readonly symbol?: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiCmPositionAdlQuantileEstimation\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for futuresTradfiPerpsContract operation in TradeApi.\n * @interface FuturesTradfiPerpsContractRequest\n */\nexport interface FuturesTradfiPerpsContractRequest {\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiFuturesTradfiPerpsContract\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for getUmFuturesBnbBurnStatus operation in TradeApi.\n * @interface GetUmFuturesBnbBurnStatusRequest\n */\nexport interface GetUmFuturesBnbBurnStatusRequest {\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiGetUmFuturesBnbBurnStatus\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for marginAccountBorrow operation in TradeApi.\n * @interface MarginAccountBorrowRequest\n */\nexport interface MarginAccountBorrowRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiMarginAccountBorrow\n     */\n    readonly asset: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiMarginAccountBorrow\n     */\n    readonly amount: number;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiMarginAccountBorrow\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for marginAccountNewOco operation in TradeApi.\n * @interface MarginAccountNewOcoRequest\n */\nexport interface MarginAccountNewOcoRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiMarginAccountNewOco\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {'BUY' | 'SELL'}\n     * @memberof TradeApiMarginAccountNewOco\n     */\n    readonly side: MarginAccountNewOcoSideEnum;\n\n    /**\n     * Order quantity\n     * @type {number}\n     * @memberof TradeApiMarginAccountNewOco\n     */\n    readonly quantity: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiMarginAccountNewOco\n     */\n    readonly price: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiMarginAccountNewOco\n     */\n    readonly stopPrice: number;\n\n    /**\n     * Either `orderListId` or `listClientOrderId` must be provided\n     * @type {string}\n     * @memberof TradeApiMarginAccountNewOco\n     */\n    readonly listClientOrderId?: string;\n\n    /**\n     * A unique Id for the limit order\n     * @type {string}\n     * @memberof TradeApiMarginAccountNewOco\n     */\n    readonly limitClientOrderId?: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiMarginAccountNewOco\n     */\n    readonly limitIcebergQty?: number;\n\n    /**\n     * A unique Id for the stop loss/stop loss limit leg\n     * @type {string}\n     * @memberof TradeApiMarginAccountNewOco\n     */\n    readonly stopClientOrderId?: string;\n\n    /**\n     * If provided, stopLimitTimeInForce is required.\n     * @type {number}\n     * @memberof TradeApiMarginAccountNewOco\n     */\n    readonly stopLimitPrice?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiMarginAccountNewOco\n     */\n    readonly stopIcebergQty?: number;\n\n    /**\n     * Valid values are `GTC/FOK/IOC`\n     * @type {'GTC' | 'IOC' | 'FOK'}\n     * @memberof TradeApiMarginAccountNewOco\n     */\n    readonly stopLimitTimeInForce?: MarginAccountNewOcoStopLimitTimeInForceEnum;\n\n    /**\n     * \"ACK\", \"RESULT\", default \"ACK\"\n     * @type {'ACK' | 'RESULT'}\n     * @memberof TradeApiMarginAccountNewOco\n     */\n    readonly newOrderRespType?: MarginAccountNewOcoNewOrderRespTypeEnum;\n\n    /**\n     * NO_SIDE_EFFECT, MARGIN_BUY, AUTO_REPAY; default NO_SIDE_EFFECT.\n     * @type {'NO_SIDE_EFFECT' | 'MARGIN_BUY' | 'AUTO_REPAY'}\n     * @memberof TradeApiMarginAccountNewOco\n     */\n    readonly sideEffectType?: MarginAccountNewOcoSideEffectTypeEnum;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiMarginAccountNewOco\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for marginAccountRepay operation in TradeApi.\n * @interface MarginAccountRepayRequest\n */\nexport interface MarginAccountRepayRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiMarginAccountRepay\n     */\n    readonly asset: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiMarginAccountRepay\n     */\n    readonly amount: number;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiMarginAccountRepay\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for marginAccountRepayDebt operation in TradeApi.\n * @interface MarginAccountRepayDebtRequest\n */\nexport interface MarginAccountRepayDebtRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiMarginAccountRepayDebt\n     */\n    readonly asset: string;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiMarginAccountRepayDebt\n     */\n    readonly amount?: string;\n\n    /**\n     * Specific asset list to repay debt; Can be added in batch, separated by commas\n     * @type {string}\n     * @memberof TradeApiMarginAccountRepayDebt\n     */\n    readonly specifyRepayAssets?: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiMarginAccountRepayDebt\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for marginAccountTradeList operation in TradeApi.\n * @interface MarginAccountTradeListRequest\n */\nexport interface MarginAccountTradeListRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiMarginAccountTradeList\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiMarginAccountTradeList\n     */\n    readonly orderId?: number | bigint;\n\n    /**\n     * Timestamp in ms to get funding from INCLUSIVE.\n     * @type {number | bigint}\n     * @memberof TradeApiMarginAccountTradeList\n     */\n    readonly startTime?: number | bigint;\n\n    /**\n     * Timestamp in ms to get funding until INCLUSIVE.\n     * @type {number | bigint}\n     * @memberof TradeApiMarginAccountTradeList\n     */\n    readonly endTime?: number | bigint;\n\n    /**\n     * Trade id to fetch from. Default gets most recent trades.\n     * @type {number | bigint}\n     * @memberof TradeApiMarginAccountTradeList\n     */\n    readonly fromId?: number | bigint;\n\n    /**\n     * Default 100; max 1000\n     * @type {number | bigint}\n     * @memberof TradeApiMarginAccountTradeList\n     */\n    readonly limit?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiMarginAccountTradeList\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for modifyCmOrder operation in TradeApi.\n * @interface ModifyCmOrderRequest\n */\nexport interface ModifyCmOrderRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiModifyCmOrder\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {'BUY' | 'SELL'}\n     * @memberof TradeApiModifyCmOrder\n     */\n    readonly side: ModifyCmOrderSideEnum;\n\n    /**\n     * Order quantity\n     * @type {number}\n     * @memberof TradeApiModifyCmOrder\n     */\n    readonly quantity: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiModifyCmOrder\n     */\n    readonly price: number;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiModifyCmOrder\n     */\n    readonly orderId?: number | bigint;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiModifyCmOrder\n     */\n    readonly origClientOrderId?: string;\n\n    /**\n     * only avaliable for `LIMIT`/`STOP`/`TAKE_PROFIT` order; can be set to `OPPONENT`/ `OPPONENT_5`/ `OPPONENT_10`/ `OPPONENT_20`: /`QUEUE`/ `QUEUE_5`/ `QUEUE_10`/ `QUEUE_20`; Can't be passed together with `price`\n     * @type {'NONE' | 'OPPONENT' | 'OPPONENT_5' | 'OPPONENT_10' | 'OPPONENT_20' | 'QUEUE' | 'QUEUE_5' | 'QUEUE_10' | 'QUEUE_20'}\n     * @memberof TradeApiModifyCmOrder\n     */\n    readonly priceMatch?: ModifyCmOrderPriceMatchEnum;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiModifyCmOrder\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for modifyUmOrder operation in TradeApi.\n * @interface ModifyUmOrderRequest\n */\nexport interface ModifyUmOrderRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiModifyUmOrder\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {'BUY' | 'SELL'}\n     * @memberof TradeApiModifyUmOrder\n     */\n    readonly side: ModifyUmOrderSideEnum;\n\n    /**\n     * Order quantity\n     * @type {number}\n     * @memberof TradeApiModifyUmOrder\n     */\n    readonly quantity: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiModifyUmOrder\n     */\n    readonly price: number;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiModifyUmOrder\n     */\n    readonly orderId?: number | bigint;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiModifyUmOrder\n     */\n    readonly origClientOrderId?: string;\n\n    /**\n     * only avaliable for `LIMIT`/`STOP`/`TAKE_PROFIT` order; can be set to `OPPONENT`/ `OPPONENT_5`/ `OPPONENT_10`/ `OPPONENT_20`: /`QUEUE`/ `QUEUE_5`/ `QUEUE_10`/ `QUEUE_20`; Can't be passed together with `price`\n     * @type {'NONE' | 'OPPONENT' | 'OPPONENT_5' | 'OPPONENT_10' | 'OPPONENT_20' | 'QUEUE' | 'QUEUE_5' | 'QUEUE_10' | 'QUEUE_20'}\n     * @memberof TradeApiModifyUmOrder\n     */\n    readonly priceMatch?: ModifyUmOrderPriceMatchEnum;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiModifyUmOrder\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for newCmConditionalOrder operation in TradeApi.\n * @interface NewCmConditionalOrderRequest\n */\nexport interface NewCmConditionalOrderRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiNewCmConditionalOrder\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {'BUY' | 'SELL'}\n     * @memberof TradeApiNewCmConditionalOrder\n     */\n    readonly side: NewCmConditionalOrderSideEnum;\n\n    /**\n     * \"STOP\", \"STOP_MARKET\", \"TAKE_PROFIT\", \"TAKE_PROFIT_MARKET\", and \"TRAILING_STOP_MARKET\"\n     * @type {'STOP' | 'STOP_MARKET' | 'LIMIT_MAKER' | 'TAKE_PROFIT' | 'TAKE_PROFIT_MARKET' | 'TRAILING_STOP_MARKET'}\n     * @memberof TradeApiNewCmConditionalOrder\n     */\n    readonly strategyType: NewCmConditionalOrderStrategyTypeEnum;\n\n    /**\n     * Default `BOTH` for One-way Mode ; `LONG` or `SHORT` for Hedge Mode. It must be sent in Hedge Mode.\n     * @type {'BOTH' | 'LONG' | 'SHORT'}\n     * @memberof TradeApiNewCmConditionalOrder\n     */\n    readonly positionSide?: NewCmConditionalOrderPositionSideEnum;\n\n    /**\n     *\n     * @type {'GTC' | 'IOC' | 'FOK' | 'GTX'}\n     * @memberof TradeApiNewCmConditionalOrder\n     */\n    readonly timeInForce?: NewCmConditionalOrderTimeInForceEnum;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiNewCmConditionalOrder\n     */\n    readonly quantity?: number;\n\n    /**\n     * \"true\" or \"false\". default \"false\". Cannot be sent in Hedge Mode .\n     * @type {string}\n     * @memberof TradeApiNewCmConditionalOrder\n     */\n    readonly reduceOnly?: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiNewCmConditionalOrder\n     */\n    readonly price?: number;\n\n    /**\n     * stopPrice triggered by: \"MARK_PRICE\", \"CONTRACT_PRICE\". Default \"CONTRACT_PRICE\"\n     * @type {'MARK_PRICE'}\n     * @memberof TradeApiNewCmConditionalOrder\n     */\n    readonly workingType?: NewCmConditionalOrderWorkingTypeEnum;\n\n    /**\n     * \"true\" or \"false\", default \"false\". Used with `STOP/STOP_MARKET` or `TAKE_PROFIT/TAKE_PROFIT_MARKET` orders\n     * @type {string}\n     * @memberof TradeApiNewCmConditionalOrder\n     */\n    readonly priceProtect?: string;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiNewCmConditionalOrder\n     */\n    readonly newClientStrategyId?: string;\n\n    /**\n     * Used with `STOP/STOP_MARKET` or `TAKE_PROFIT/TAKE_PROFIT_MARKET` orders.\n     * @type {number}\n     * @memberof TradeApiNewCmConditionalOrder\n     */\n    readonly stopPrice?: number;\n\n    /**\n     * Used with `TRAILING_STOP_MARKET` orders, default as the mark price\n     * @type {number}\n     * @memberof TradeApiNewCmConditionalOrder\n     */\n    readonly activationPrice?: number;\n\n    /**\n     * Used with `TRAILING_STOP_MARKET` orders, min 0.1, max 5 where 1 for 1%\n     * @type {number}\n     * @memberof TradeApiNewCmConditionalOrder\n     */\n    readonly callbackRate?: number;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiNewCmConditionalOrder\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for newCmOrder operation in TradeApi.\n * @interface NewCmOrderRequest\n */\nexport interface NewCmOrderRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiNewCmOrder\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {'BUY' | 'SELL'}\n     * @memberof TradeApiNewCmOrder\n     */\n    readonly side: NewCmOrderSideEnum;\n\n    /**\n     * `LIMIT`, `MARKET`\n     * @type {'LIMIT' | 'MARKET'}\n     * @memberof TradeApiNewCmOrder\n     */\n    readonly type: NewCmOrderTypeEnum;\n\n    /**\n     * Default `BOTH` for One-way Mode ; `LONG` or `SHORT` for Hedge Mode. It must be sent in Hedge Mode.\n     * @type {'BOTH' | 'LONG' | 'SHORT'}\n     * @memberof TradeApiNewCmOrder\n     */\n    readonly positionSide?: NewCmOrderPositionSideEnum;\n\n    /**\n     *\n     * @type {'GTC' | 'IOC' | 'FOK' | 'GTX'}\n     * @memberof TradeApiNewCmOrder\n     */\n    readonly timeInForce?: NewCmOrderTimeInForceEnum;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiNewCmOrder\n     */\n    readonly quantity?: number;\n\n    /**\n     * \"true\" or \"false\". default \"false\". Cannot be sent in Hedge Mode .\n     * @type {string}\n     * @memberof TradeApiNewCmOrder\n     */\n    readonly reduceOnly?: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiNewCmOrder\n     */\n    readonly price?: number;\n\n    /**\n     * only avaliable for `LIMIT`/`STOP`/`TAKE_PROFIT` order; can be set to `OPPONENT`/ `OPPONENT_5`/ `OPPONENT_10`/ `OPPONENT_20`: /`QUEUE`/ `QUEUE_5`/ `QUEUE_10`/ `QUEUE_20`; Can't be passed together with `price`\n     * @type {'NONE' | 'OPPONENT' | 'OPPONENT_5' | 'OPPONENT_10' | 'OPPONENT_20' | 'QUEUE' | 'QUEUE_5' | 'QUEUE_10' | 'QUEUE_20'}\n     * @memberof TradeApiNewCmOrder\n     */\n    readonly priceMatch?: NewCmOrderPriceMatchEnum;\n\n    /**\n     * Used to uniquely identify this cancel. Automatically generated by default\n     * @type {string}\n     * @memberof TradeApiNewCmOrder\n     */\n    readonly newClientOrderId?: string;\n\n    /**\n     * \"ACK\", \"RESULT\", default \"ACK\"\n     * @type {'ACK' | 'RESULT'}\n     * @memberof TradeApiNewCmOrder\n     */\n    readonly newOrderRespType?: NewCmOrderNewOrderRespTypeEnum;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiNewCmOrder\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for newMarginOrder operation in TradeApi.\n * @interface NewMarginOrderRequest\n */\nexport interface NewMarginOrderRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiNewMarginOrder\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {'BUY' | 'SELL'}\n     * @memberof TradeApiNewMarginOrder\n     */\n    readonly side: NewMarginOrderSideEnum;\n\n    /**\n     * `LIMIT`, `MARKET`\n     * @type {'LIMIT' | 'MARKET'}\n     * @memberof TradeApiNewMarginOrder\n     */\n    readonly type: NewMarginOrderTypeEnum;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiNewMarginOrder\n     */\n    readonly quantity?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiNewMarginOrder\n     */\n    readonly quoteOrderQty?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiNewMarginOrder\n     */\n    readonly price?: number;\n\n    /**\n     * Used with `STOP/STOP_MARKET` or `TAKE_PROFIT/TAKE_PROFIT_MARKET` orders.\n     * @type {number}\n     * @memberof TradeApiNewMarginOrder\n     */\n    readonly stopPrice?: number;\n\n    /**\n     * Used to uniquely identify this cancel. Automatically generated by default\n     * @type {string}\n     * @memberof TradeApiNewMarginOrder\n     */\n    readonly newClientOrderId?: string;\n\n    /**\n     * \"ACK\", \"RESULT\", default \"ACK\"\n     * @type {'ACK' | 'RESULT'}\n     * @memberof TradeApiNewMarginOrder\n     */\n    readonly newOrderRespType?: NewMarginOrderNewOrderRespTypeEnum;\n\n    /**\n     * Used with `LIMIT`, `STOP_LOSS_LIMIT`, and `TAKE_PROFIT_LIMIT` to create an iceberg order\n     * @type {number}\n     * @memberof TradeApiNewMarginOrder\n     */\n    readonly icebergQty?: number;\n\n    /**\n     * NO_SIDE_EFFECT, MARGIN_BUY, AUTO_REPAY; default NO_SIDE_EFFECT.\n     * @type {'NO_SIDE_EFFECT' | 'MARGIN_BUY' | 'AUTO_REPAY'}\n     * @memberof TradeApiNewMarginOrder\n     */\n    readonly sideEffectType?: NewMarginOrderSideEffectTypeEnum;\n\n    /**\n     *\n     * @type {'GTC' | 'IOC' | 'FOK' | 'GTX'}\n     * @memberof TradeApiNewMarginOrder\n     */\n    readonly timeInForce?: NewMarginOrderTimeInForceEnum;\n\n    /**\n     * `NONE`:No STP / `EXPIRE_TAKER`:expire taker order when STP triggers/ `EXPIRE_MAKER`:expire taker order when STP triggers/ `EXPIRE_BOTH`:expire both orders when STP triggers\n     * @type {'NONE' | 'EXPIRE_TAKER' | 'EXPIRE_BOTH' | 'EXPIRE_MAKER'}\n     * @memberof TradeApiNewMarginOrder\n     */\n    readonly selfTradePreventionMode?: NewMarginOrderSelfTradePreventionModeEnum;\n\n    /**\n     * Only when MARGIN_BUY or AUTO_BORROW_REPAY order takes effect, true means that the debt generated by the order needs to be repay after the order is cancelled. The default is true\n     * @type {boolean}\n     * @memberof TradeApiNewMarginOrder\n     */\n    readonly autoRepayAtCancel?: boolean;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiNewMarginOrder\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for newUmAlgoOrder operation in TradeApi.\n * @interface NewUmAlgoOrderRequest\n */\nexport interface NewUmAlgoOrderRequest {\n    /**\n     * Only support `CONDITIONAL`\n     * @type {string}\n     * @memberof TradeApiNewUmAlgoOrder\n     */\n    readonly algoType: string;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiNewUmAlgoOrder\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {'BUY' | 'SELL'}\n     * @memberof TradeApiNewUmAlgoOrder\n     */\n    readonly side: NewUmAlgoOrderSideEnum;\n\n    /**\n     * `LIMIT`, `MARKET`\n     * @type {'LIMIT' | 'MARKET'}\n     * @memberof TradeApiNewUmAlgoOrder\n     */\n    readonly type: NewUmAlgoOrderTypeEnum;\n\n    /**\n     * Order quantity\n     * @type {number}\n     * @memberof TradeApiNewUmAlgoOrder\n     */\n    readonly quantity: number;\n\n    /**\n     * Default `BOTH` for One-way Mode ; `LONG` or `SHORT` for Hedge Mode. It must be sent in Hedge Mode.\n     * @type {'BOTH' | 'LONG' | 'SHORT'}\n     * @memberof TradeApiNewUmAlgoOrder\n     */\n    readonly positionSide?: NewUmAlgoOrderPositionSideEnum;\n\n    /**\n     *\n     * @type {'GTC' | 'IOC' | 'FOK' | 'GTX'}\n     * @memberof TradeApiNewUmAlgoOrder\n     */\n    readonly timeInForce?: NewUmAlgoOrderTimeInForceEnum;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiNewUmAlgoOrder\n     */\n    readonly price?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiNewUmAlgoOrder\n     */\n    readonly triggerPrice?: number;\n\n    /**\n     * stopPrice triggered by: \"MARK_PRICE\", \"CONTRACT_PRICE\". Default \"CONTRACT_PRICE\"\n     * @type {'MARK_PRICE'}\n     * @memberof TradeApiNewUmAlgoOrder\n     */\n    readonly workingType?: NewUmAlgoOrderWorkingTypeEnum;\n\n    /**\n     * only avaliable for `LIMIT`/`STOP`/`TAKE_PROFIT` order; can be set to `OPPONENT`/ `OPPONENT_5`/ `OPPONENT_10`/ `OPPONENT_20`: /`QUEUE`/ `QUEUE_5`/ `QUEUE_10`/ `QUEUE_20`; Can't be passed together with `price`\n     * @type {'NONE' | 'OPPONENT' | 'OPPONENT_5' | 'OPPONENT_10' | 'OPPONENT_20' | 'QUEUE' | 'QUEUE_5' | 'QUEUE_10' | 'QUEUE_20'}\n     * @memberof TradeApiNewUmAlgoOrder\n     */\n    readonly priceMatch?: NewUmAlgoOrderPriceMatchEnum;\n\n    /**\n     * \"true\" or \"false\", default \"false\". Used with `STOP/STOP_MARKET` or `TAKE_PROFIT/TAKE_PROFIT_MARKET` orders\n     * @type {string}\n     * @memberof TradeApiNewUmAlgoOrder\n     */\n    readonly priceProtect?: string;\n\n    /**\n     * \"true\" or \"false\". default \"false\". Cannot be sent in Hedge Mode .\n     * @type {string}\n     * @memberof TradeApiNewUmAlgoOrder\n     */\n    readonly reduceOnly?: string;\n\n    /**\n     * Used with `TRAILING_STOP_MARKET` orders, default as the latest price(supporting different `workingType`)\n     * @type {number}\n     * @memberof TradeApiNewUmAlgoOrder\n     */\n    readonly activatePrice?: number;\n\n    /**\n     * Used with `TRAILING_STOP_MARKET` orders, min 0.1, max 5 where 1 for 1%\n     * @type {number}\n     * @memberof TradeApiNewUmAlgoOrder\n     */\n    readonly callbackRate?: number;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiNewUmAlgoOrder\n     */\n    readonly clientAlgoId?: string;\n\n    /**\n     * \"ACK\", \"RESULT\", default \"ACK\"\n     * @type {'ACK' | 'RESULT'}\n     * @memberof TradeApiNewUmAlgoOrder\n     */\n    readonly newOrderRespType?: NewUmAlgoOrderNewOrderRespTypeEnum;\n\n    /**\n     * `NONE`:No STP / `EXPIRE_TAKER`:expire taker order when STP triggers/ `EXPIRE_MAKER`:expire taker order when STP triggers/ `EXPIRE_BOTH`:expire both orders when STP triggers\n     * @type {'NONE' | 'EXPIRE_TAKER' | 'EXPIRE_BOTH' | 'EXPIRE_MAKER'}\n     * @memberof TradeApiNewUmAlgoOrder\n     */\n    readonly selfTradePreventionMode?: NewUmAlgoOrderSelfTradePreventionModeEnum;\n\n    /**\n     * order cancel time for timeInForce `GTD`, mandatory when `timeInforce` set to `GTD`; order the timestamp only retains second-level precision, ms part will be ignored; The goodTillDate timestamp must be greater than the current time plus 600 seconds and smaller than 253402300799000Mode. It must be sent in Hedge Mode.\n     * @type {number | bigint}\n     * @memberof TradeApiNewUmAlgoOrder\n     */\n    readonly goodTillDate?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiNewUmAlgoOrder\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for newUmConditionalOrder operation in TradeApi.\n * @interface NewUmConditionalOrderRequest\n */\nexport interface NewUmConditionalOrderRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiNewUmConditionalOrder\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {'BUY' | 'SELL'}\n     * @memberof TradeApiNewUmConditionalOrder\n     */\n    readonly side: NewUmConditionalOrderSideEnum;\n\n    /**\n     * \"STOP\", \"STOP_MARKET\", \"TAKE_PROFIT\", \"TAKE_PROFIT_MARKET\", and \"TRAILING_STOP_MARKET\"\n     * @type {'STOP' | 'STOP_MARKET' | 'LIMIT_MAKER' | 'TAKE_PROFIT' | 'TAKE_PROFIT_MARKET' | 'TRAILING_STOP_MARKET'}\n     * @memberof TradeApiNewUmConditionalOrder\n     */\n    readonly strategyType: NewUmConditionalOrderStrategyTypeEnum;\n\n    /**\n     * Default `BOTH` for One-way Mode ; `LONG` or `SHORT` for Hedge Mode. It must be sent in Hedge Mode.\n     * @type {'BOTH' | 'LONG' | 'SHORT'}\n     * @memberof TradeApiNewUmConditionalOrder\n     */\n    readonly positionSide?: NewUmConditionalOrderPositionSideEnum;\n\n    /**\n     *\n     * @type {'GTC' | 'IOC' | 'FOK' | 'GTX'}\n     * @memberof TradeApiNewUmConditionalOrder\n     */\n    readonly timeInForce?: NewUmConditionalOrderTimeInForceEnum;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiNewUmConditionalOrder\n     */\n    readonly quantity?: number;\n\n    /**\n     * \"true\" or \"false\". default \"false\". Cannot be sent in Hedge Mode .\n     * @type {string}\n     * @memberof TradeApiNewUmConditionalOrder\n     */\n    readonly reduceOnly?: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiNewUmConditionalOrder\n     */\n    readonly price?: number;\n\n    /**\n     * stopPrice triggered by: \"MARK_PRICE\", \"CONTRACT_PRICE\". Default \"CONTRACT_PRICE\"\n     * @type {'MARK_PRICE'}\n     * @memberof TradeApiNewUmConditionalOrder\n     */\n    readonly workingType?: NewUmConditionalOrderWorkingTypeEnum;\n\n    /**\n     * \"true\" or \"false\", default \"false\". Used with `STOP/STOP_MARKET` or `TAKE_PROFIT/TAKE_PROFIT_MARKET` orders\n     * @type {string}\n     * @memberof TradeApiNewUmConditionalOrder\n     */\n    readonly priceProtect?: string;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiNewUmConditionalOrder\n     */\n    readonly newClientStrategyId?: string;\n\n    /**\n     * Used with `STOP/STOP_MARKET` or `TAKE_PROFIT/TAKE_PROFIT_MARKET` orders.\n     * @type {number}\n     * @memberof TradeApiNewUmConditionalOrder\n     */\n    readonly stopPrice?: number;\n\n    /**\n     * Used with `TRAILING_STOP_MARKET` orders, default as the mark price\n     * @type {number}\n     * @memberof TradeApiNewUmConditionalOrder\n     */\n    readonly activationPrice?: number;\n\n    /**\n     * Used with `TRAILING_STOP_MARKET` orders, min 0.1, max 5 where 1 for 1%\n     * @type {number}\n     * @memberof TradeApiNewUmConditionalOrder\n     */\n    readonly callbackRate?: number;\n\n    /**\n     * only avaliable for `LIMIT`/`STOP`/`TAKE_PROFIT` order; can be set to `OPPONENT`/ `OPPONENT_5`/ `OPPONENT_10`/ `OPPONENT_20`: /`QUEUE`/ `QUEUE_5`/ `QUEUE_10`/ `QUEUE_20`; Can't be passed together with `price`\n     * @type {'NONE' | 'OPPONENT' | 'OPPONENT_5' | 'OPPONENT_10' | 'OPPONENT_20' | 'QUEUE' | 'QUEUE_5' | 'QUEUE_10' | 'QUEUE_20'}\n     * @memberof TradeApiNewUmConditionalOrder\n     */\n    readonly priceMatch?: NewUmConditionalOrderPriceMatchEnum;\n\n    /**\n     * `NONE`:No STP / `EXPIRE_TAKER`:expire taker order when STP triggers/ `EXPIRE_MAKER`:expire taker order when STP triggers/ `EXPIRE_BOTH`:expire both orders when STP triggers\n     * @type {'NONE' | 'EXPIRE_TAKER' | 'EXPIRE_BOTH' | 'EXPIRE_MAKER'}\n     * @memberof TradeApiNewUmConditionalOrder\n     */\n    readonly selfTradePreventionMode?: NewUmConditionalOrderSelfTradePreventionModeEnum;\n\n    /**\n     * order cancel time for timeInForce `GTD`, mandatory when `timeInforce` set to `GTD`; order the timestamp only retains second-level precision, ms part will be ignored; The goodTillDate timestamp must be greater than the current time plus 600 seconds and smaller than 253402300799000Mode. It must be sent in Hedge Mode.\n     * @type {number | bigint}\n     * @memberof TradeApiNewUmConditionalOrder\n     */\n    readonly goodTillDate?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiNewUmConditionalOrder\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for newUmOrder operation in TradeApi.\n * @interface NewUmOrderRequest\n */\nexport interface NewUmOrderRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiNewUmOrder\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {'BUY' | 'SELL'}\n     * @memberof TradeApiNewUmOrder\n     */\n    readonly side: NewUmOrderSideEnum;\n\n    /**\n     * `LIMIT`, `MARKET`\n     * @type {'LIMIT' | 'MARKET'}\n     * @memberof TradeApiNewUmOrder\n     */\n    readonly type: NewUmOrderTypeEnum;\n\n    /**\n     * Default `BOTH` for One-way Mode ; `LONG` or `SHORT` for Hedge Mode. It must be sent in Hedge Mode.\n     * @type {'BOTH' | 'LONG' | 'SHORT'}\n     * @memberof TradeApiNewUmOrder\n     */\n    readonly positionSide?: NewUmOrderPositionSideEnum;\n\n    /**\n     *\n     * @type {'GTC' | 'IOC' | 'FOK' | 'GTX'}\n     * @memberof TradeApiNewUmOrder\n     */\n    readonly timeInForce?: NewUmOrderTimeInForceEnum;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiNewUmOrder\n     */\n    readonly quantity?: number;\n\n    /**\n     * \"true\" or \"false\". default \"false\". Cannot be sent in Hedge Mode .\n     * @type {string}\n     * @memberof TradeApiNewUmOrder\n     */\n    readonly reduceOnly?: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiNewUmOrder\n     */\n    readonly price?: number;\n\n    /**\n     * Used to uniquely identify this cancel. Automatically generated by default\n     * @type {string}\n     * @memberof TradeApiNewUmOrder\n     */\n    readonly newClientOrderId?: string;\n\n    /**\n     * \"ACK\", \"RESULT\", default \"ACK\"\n     * @type {'ACK' | 'RESULT'}\n     * @memberof TradeApiNewUmOrder\n     */\n    readonly newOrderRespType?: NewUmOrderNewOrderRespTypeEnum;\n\n    /**\n     * only avaliable for `LIMIT`/`STOP`/`TAKE_PROFIT` order; can be set to `OPPONENT`/ `OPPONENT_5`/ `OPPONENT_10`/ `OPPONENT_20`: /`QUEUE`/ `QUEUE_5`/ `QUEUE_10`/ `QUEUE_20`; Can't be passed together with `price`\n     * @type {'NONE' | 'OPPONENT' | 'OPPONENT_5' | 'OPPONENT_10' | 'OPPONENT_20' | 'QUEUE' | 'QUEUE_5' | 'QUEUE_10' | 'QUEUE_20'}\n     * @memberof TradeApiNewUmOrder\n     */\n    readonly priceMatch?: NewUmOrderPriceMatchEnum;\n\n    /**\n     * `NONE`:No STP / `EXPIRE_TAKER`:expire taker order when STP triggers/ `EXPIRE_MAKER`:expire taker order when STP triggers/ `EXPIRE_BOTH`:expire both orders when STP triggers\n     * @type {'NONE' | 'EXPIRE_TAKER' | 'EXPIRE_BOTH' | 'EXPIRE_MAKER'}\n     * @memberof TradeApiNewUmOrder\n     */\n    readonly selfTradePreventionMode?: NewUmOrderSelfTradePreventionModeEnum;\n\n    /**\n     * order cancel time for timeInForce `GTD`, mandatory when `timeInforce` set to `GTD`; order the timestamp only retains second-level precision, ms part will be ignored; The goodTillDate timestamp must be greater than the current time plus 600 seconds and smaller than 253402300799000Mode. It must be sent in Hedge Mode.\n     * @type {number | bigint}\n     * @memberof TradeApiNewUmOrder\n     */\n    readonly goodTillDate?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiNewUmOrder\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for queryAllCmConditionalOrders operation in TradeApi.\n * @interface QueryAllCmConditionalOrdersRequest\n */\nexport interface QueryAllCmConditionalOrdersRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryAllCmConditionalOrders\n     */\n    readonly symbol?: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiQueryAllCmConditionalOrders\n     */\n    readonly strategyId?: number | bigint;\n\n    /**\n     * Timestamp in ms to get funding from INCLUSIVE.\n     * @type {number | bigint}\n     * @memberof TradeApiQueryAllCmConditionalOrders\n     */\n    readonly startTime?: number | bigint;\n\n    /**\n     * Timestamp in ms to get funding until INCLUSIVE.\n     * @type {number | bigint}\n     * @memberof TradeApiQueryAllCmConditionalOrders\n     */\n    readonly endTime?: number | bigint;\n\n    /**\n     * Default 100; max 1000\n     * @type {number | bigint}\n     * @memberof TradeApiQueryAllCmConditionalOrders\n     */\n    readonly limit?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiQueryAllCmConditionalOrders\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for queryAllCmOrders operation in TradeApi.\n * @interface QueryAllCmOrdersRequest\n */\nexport interface QueryAllCmOrdersRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryAllCmOrders\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryAllCmOrders\n     */\n    readonly pair?: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiQueryAllCmOrders\n     */\n    readonly orderId?: number | bigint;\n\n    /**\n     * Timestamp in ms to get funding from INCLUSIVE.\n     * @type {number | bigint}\n     * @memberof TradeApiQueryAllCmOrders\n     */\n    readonly startTime?: number | bigint;\n\n    /**\n     * Timestamp in ms to get funding until INCLUSIVE.\n     * @type {number | bigint}\n     * @memberof TradeApiQueryAllCmOrders\n     */\n    readonly endTime?: number | bigint;\n\n    /**\n     * Default 100; max 1000\n     * @type {number | bigint}\n     * @memberof TradeApiQueryAllCmOrders\n     */\n    readonly limit?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiQueryAllCmOrders\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for queryAllCurrentCmOpenConditionalOrders operation in TradeApi.\n * @interface QueryAllCurrentCmOpenConditionalOrdersRequest\n */\nexport interface QueryAllCurrentCmOpenConditionalOrdersRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryAllCurrentCmOpenConditionalOrders\n     */\n    readonly symbol?: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiQueryAllCurrentCmOpenConditionalOrders\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for queryAllCurrentCmOpenOrders operation in TradeApi.\n * @interface QueryAllCurrentCmOpenOrdersRequest\n */\nexport interface QueryAllCurrentCmOpenOrdersRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryAllCurrentCmOpenOrders\n     */\n    readonly symbol?: string;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryAllCurrentCmOpenOrders\n     */\n    readonly pair?: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiQueryAllCurrentCmOpenOrders\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for queryAllCurrentUmOpenAlgoOrders operation in TradeApi.\n * @interface QueryAllCurrentUmOpenAlgoOrdersRequest\n */\nexport interface QueryAllCurrentUmOpenAlgoOrdersRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryAllCurrentUmOpenAlgoOrders\n     */\n    readonly algoType?: string;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryAllCurrentUmOpenAlgoOrders\n     */\n    readonly symbol?: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiQueryAllCurrentUmOpenAlgoOrders\n     */\n    readonly algoId?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiQueryAllCurrentUmOpenAlgoOrders\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for queryAllCurrentUmOpenConditionalOrders operation in TradeApi.\n * @interface QueryAllCurrentUmOpenConditionalOrdersRequest\n */\nexport interface QueryAllCurrentUmOpenConditionalOrdersRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryAllCurrentUmOpenConditionalOrders\n     */\n    readonly symbol?: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiQueryAllCurrentUmOpenConditionalOrders\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for queryAllCurrentUmOpenOrders operation in TradeApi.\n * @interface QueryAllCurrentUmOpenOrdersRequest\n */\nexport interface QueryAllCurrentUmOpenOrdersRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryAllCurrentUmOpenOrders\n     */\n    readonly symbol?: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiQueryAllCurrentUmOpenOrders\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for queryAllMarginAccountOrders operation in TradeApi.\n * @interface QueryAllMarginAccountOrdersRequest\n */\nexport interface QueryAllMarginAccountOrdersRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryAllMarginAccountOrders\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiQueryAllMarginAccountOrders\n     */\n    readonly orderId?: number | bigint;\n\n    /**\n     * Timestamp in ms to get funding from INCLUSIVE.\n     * @type {number | bigint}\n     * @memberof TradeApiQueryAllMarginAccountOrders\n     */\n    readonly startTime?: number | bigint;\n\n    /**\n     * Timestamp in ms to get funding until INCLUSIVE.\n     * @type {number | bigint}\n     * @memberof TradeApiQueryAllMarginAccountOrders\n     */\n    readonly endTime?: number | bigint;\n\n    /**\n     * Default 100; max 1000\n     * @type {number | bigint}\n     * @memberof TradeApiQueryAllMarginAccountOrders\n     */\n    readonly limit?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiQueryAllMarginAccountOrders\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for queryAllUmConditionalOrders operation in TradeApi.\n * @interface QueryAllUmConditionalOrdersRequest\n */\nexport interface QueryAllUmConditionalOrdersRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryAllUmConditionalOrders\n     */\n    readonly symbol?: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiQueryAllUmConditionalOrders\n     */\n    readonly strategyId?: number | bigint;\n\n    /**\n     * Timestamp in ms to get funding from INCLUSIVE.\n     * @type {number | bigint}\n     * @memberof TradeApiQueryAllUmConditionalOrders\n     */\n    readonly startTime?: number | bigint;\n\n    /**\n     * Timestamp in ms to get funding until INCLUSIVE.\n     * @type {number | bigint}\n     * @memberof TradeApiQueryAllUmConditionalOrders\n     */\n    readonly endTime?: number | bigint;\n\n    /**\n     * Default 100; max 1000\n     * @type {number | bigint}\n     * @memberof TradeApiQueryAllUmConditionalOrders\n     */\n    readonly limit?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiQueryAllUmConditionalOrders\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for queryAllUmOrders operation in TradeApi.\n * @interface QueryAllUmOrdersRequest\n */\nexport interface QueryAllUmOrdersRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryAllUmOrders\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiQueryAllUmOrders\n     */\n    readonly orderId?: number | bigint;\n\n    /**\n     * Timestamp in ms to get funding from INCLUSIVE.\n     * @type {number | bigint}\n     * @memberof TradeApiQueryAllUmOrders\n     */\n    readonly startTime?: number | bigint;\n\n    /**\n     * Timestamp in ms to get funding until INCLUSIVE.\n     * @type {number | bigint}\n     * @memberof TradeApiQueryAllUmOrders\n     */\n    readonly endTime?: number | bigint;\n\n    /**\n     * Default 100; max 1000\n     * @type {number | bigint}\n     * @memberof TradeApiQueryAllUmOrders\n     */\n    readonly limit?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiQueryAllUmOrders\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for queryCmConditionalOrderHistory operation in TradeApi.\n * @interface QueryCmConditionalOrderHistoryRequest\n */\nexport interface QueryCmConditionalOrderHistoryRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryCmConditionalOrderHistory\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiQueryCmConditionalOrderHistory\n     */\n    readonly strategyId?: number | bigint;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryCmConditionalOrderHistory\n     */\n    readonly newClientStrategyId?: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiQueryCmConditionalOrderHistory\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for queryCmModifyOrderHistory operation in TradeApi.\n * @interface QueryCmModifyOrderHistoryRequest\n */\nexport interface QueryCmModifyOrderHistoryRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryCmModifyOrderHistory\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiQueryCmModifyOrderHistory\n     */\n    readonly orderId?: number | bigint;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryCmModifyOrderHistory\n     */\n    readonly origClientOrderId?: string;\n\n    /**\n     * Timestamp in ms to get funding from INCLUSIVE.\n     * @type {number | bigint}\n     * @memberof TradeApiQueryCmModifyOrderHistory\n     */\n    readonly startTime?: number | bigint;\n\n    /**\n     * Timestamp in ms to get funding until INCLUSIVE.\n     * @type {number | bigint}\n     * @memberof TradeApiQueryCmModifyOrderHistory\n     */\n    readonly endTime?: number | bigint;\n\n    /**\n     * Default 100; max 1000\n     * @type {number | bigint}\n     * @memberof TradeApiQueryCmModifyOrderHistory\n     */\n    readonly limit?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiQueryCmModifyOrderHistory\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for queryCmOrder operation in TradeApi.\n * @interface QueryCmOrderRequest\n */\nexport interface QueryCmOrderRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryCmOrder\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiQueryCmOrder\n     */\n    readonly orderId?: number | bigint;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryCmOrder\n     */\n    readonly origClientOrderId?: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiQueryCmOrder\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for queryCurrentCmOpenConditionalOrder operation in TradeApi.\n * @interface QueryCurrentCmOpenConditionalOrderRequest\n */\nexport interface QueryCurrentCmOpenConditionalOrderRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryCurrentCmOpenConditionalOrder\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiQueryCurrentCmOpenConditionalOrder\n     */\n    readonly strategyId?: number | bigint;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryCurrentCmOpenConditionalOrder\n     */\n    readonly newClientStrategyId?: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiQueryCurrentCmOpenConditionalOrder\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for queryCurrentCmOpenOrder operation in TradeApi.\n * @interface QueryCurrentCmOpenOrderRequest\n */\nexport interface QueryCurrentCmOpenOrderRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryCurrentCmOpenOrder\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiQueryCurrentCmOpenOrder\n     */\n    readonly orderId?: number | bigint;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryCurrentCmOpenOrder\n     */\n    readonly origClientOrderId?: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiQueryCurrentCmOpenOrder\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for queryCurrentMarginOpenOrder operation in TradeApi.\n * @interface QueryCurrentMarginOpenOrderRequest\n */\nexport interface QueryCurrentMarginOpenOrderRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryCurrentMarginOpenOrder\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiQueryCurrentMarginOpenOrder\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for queryCurrentUmOpenAlgoOrder operation in TradeApi.\n * @interface QueryCurrentUmOpenAlgoOrderRequest\n */\nexport interface QueryCurrentUmOpenAlgoOrderRequest {\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiQueryCurrentUmOpenAlgoOrder\n     */\n    readonly algoId?: number | bigint;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryCurrentUmOpenAlgoOrder\n     */\n    readonly clientAlgoId?: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiQueryCurrentUmOpenAlgoOrder\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for queryCurrentUmOpenConditionalOrder operation in TradeApi.\n * @interface QueryCurrentUmOpenConditionalOrderRequest\n */\nexport interface QueryCurrentUmOpenConditionalOrderRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryCurrentUmOpenConditionalOrder\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiQueryCurrentUmOpenConditionalOrder\n     */\n    readonly strategyId?: number | bigint;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryCurrentUmOpenConditionalOrder\n     */\n    readonly newClientStrategyId?: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiQueryCurrentUmOpenConditionalOrder\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for queryCurrentUmOpenOrder operation in TradeApi.\n * @interface QueryCurrentUmOpenOrderRequest\n */\nexport interface QueryCurrentUmOpenOrderRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryCurrentUmOpenOrder\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiQueryCurrentUmOpenOrder\n     */\n    readonly orderId?: number | bigint;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryCurrentUmOpenOrder\n     */\n    readonly origClientOrderId?: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiQueryCurrentUmOpenOrder\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for queryMarginAccountOrder operation in TradeApi.\n * @interface QueryMarginAccountOrderRequest\n */\nexport interface QueryMarginAccountOrderRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryMarginAccountOrder\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiQueryMarginAccountOrder\n     */\n    readonly orderId?: number | bigint;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryMarginAccountOrder\n     */\n    readonly origClientOrderId?: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiQueryMarginAccountOrder\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for queryMarginAccountsAllOco operation in TradeApi.\n * @interface QueryMarginAccountsAllOcoRequest\n */\nexport interface QueryMarginAccountsAllOcoRequest {\n    /**\n     * Trade id to fetch from. Default gets most recent trades.\n     * @type {number | bigint}\n     * @memberof TradeApiQueryMarginAccountsAllOco\n     */\n    readonly fromId?: number | bigint;\n\n    /**\n     * Timestamp in ms to get funding from INCLUSIVE.\n     * @type {number | bigint}\n     * @memberof TradeApiQueryMarginAccountsAllOco\n     */\n    readonly startTime?: number | bigint;\n\n    /**\n     * Timestamp in ms to get funding until INCLUSIVE.\n     * @type {number | bigint}\n     * @memberof TradeApiQueryMarginAccountsAllOco\n     */\n    readonly endTime?: number | bigint;\n\n    /**\n     * Default 100; max 1000\n     * @type {number | bigint}\n     * @memberof TradeApiQueryMarginAccountsAllOco\n     */\n    readonly limit?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiQueryMarginAccountsAllOco\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for queryMarginAccountsOco operation in TradeApi.\n * @interface QueryMarginAccountsOcoRequest\n */\nexport interface QueryMarginAccountsOcoRequest {\n    /**\n     * Either `orderListId` or `listClientOrderId` must be provided\n     * @type {number | bigint}\n     * @memberof TradeApiQueryMarginAccountsOco\n     */\n    readonly orderListId?: number | bigint;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryMarginAccountsOco\n     */\n    readonly origClientOrderId?: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiQueryMarginAccountsOco\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for queryMarginAccountsOpenOco operation in TradeApi.\n * @interface QueryMarginAccountsOpenOcoRequest\n */\nexport interface QueryMarginAccountsOpenOcoRequest {\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiQueryMarginAccountsOpenOco\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for queryUmAlgoOrderHistory operation in TradeApi.\n * @interface QueryUmAlgoOrderHistoryRequest\n */\nexport interface QueryUmAlgoOrderHistoryRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryUmAlgoOrderHistory\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiQueryUmAlgoOrderHistory\n     */\n    readonly algoId?: number | bigint;\n\n    /**\n     * Timestamp in ms to get funding from INCLUSIVE.\n     * @type {number | bigint}\n     * @memberof TradeApiQueryUmAlgoOrderHistory\n     */\n    readonly startTime?: number | bigint;\n\n    /**\n     * Timestamp in ms to get funding until INCLUSIVE.\n     * @type {number | bigint}\n     * @memberof TradeApiQueryUmAlgoOrderHistory\n     */\n    readonly endTime?: number | bigint;\n\n    /**\n     * Default 100; max 1000\n     * @type {number | bigint}\n     * @memberof TradeApiQueryUmAlgoOrderHistory\n     */\n    readonly limit?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiQueryUmAlgoOrderHistory\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for queryUmConditionalOrderHistory operation in TradeApi.\n * @interface QueryUmConditionalOrderHistoryRequest\n */\nexport interface QueryUmConditionalOrderHistoryRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryUmConditionalOrderHistory\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiQueryUmConditionalOrderHistory\n     */\n    readonly strategyId?: number | bigint;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryUmConditionalOrderHistory\n     */\n    readonly newClientStrategyId?: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiQueryUmConditionalOrderHistory\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for queryUmModifyOrderHistory operation in TradeApi.\n * @interface QueryUmModifyOrderHistoryRequest\n */\nexport interface QueryUmModifyOrderHistoryRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryUmModifyOrderHistory\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiQueryUmModifyOrderHistory\n     */\n    readonly orderId?: number | bigint;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryUmModifyOrderHistory\n     */\n    readonly origClientOrderId?: string;\n\n    /**\n     * Timestamp in ms to get funding from INCLUSIVE.\n     * @type {number | bigint}\n     * @memberof TradeApiQueryUmModifyOrderHistory\n     */\n    readonly startTime?: number | bigint;\n\n    /**\n     * Timestamp in ms to get funding until INCLUSIVE.\n     * @type {number | bigint}\n     * @memberof TradeApiQueryUmModifyOrderHistory\n     */\n    readonly endTime?: number | bigint;\n\n    /**\n     * Default 100; max 1000\n     * @type {number | bigint}\n     * @memberof TradeApiQueryUmModifyOrderHistory\n     */\n    readonly limit?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiQueryUmModifyOrderHistory\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for queryUmOrder operation in TradeApi.\n * @interface QueryUmOrderRequest\n */\nexport interface QueryUmOrderRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryUmOrder\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiQueryUmOrder\n     */\n    readonly orderId?: number | bigint;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryUmOrder\n     */\n    readonly origClientOrderId?: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiQueryUmOrder\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for queryUsersCmForceOrders operation in TradeApi.\n * @interface QueryUsersCmForceOrdersRequest\n */\nexport interface QueryUsersCmForceOrdersRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryUsersCmForceOrders\n     */\n    readonly symbol?: string;\n\n    /**\n     * `LIQUIDATION` for liquidation orders, `ADL` for ADL orders.\n     * @type {'LIQUIDATION' | 'ADL'}\n     * @memberof TradeApiQueryUsersCmForceOrders\n     */\n    readonly autoCloseType?: QueryUsersCmForceOrdersAutoCloseTypeEnum;\n\n    /**\n     * Timestamp in ms to get funding from INCLUSIVE.\n     * @type {number | bigint}\n     * @memberof TradeApiQueryUsersCmForceOrders\n     */\n    readonly startTime?: number | bigint;\n\n    /**\n     * Timestamp in ms to get funding until INCLUSIVE.\n     * @type {number | bigint}\n     * @memberof TradeApiQueryUsersCmForceOrders\n     */\n    readonly endTime?: number | bigint;\n\n    /**\n     * Default 100; max 1000\n     * @type {number | bigint}\n     * @memberof TradeApiQueryUsersCmForceOrders\n     */\n    readonly limit?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiQueryUsersCmForceOrders\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for queryUsersMarginForceOrders operation in TradeApi.\n * @interface QueryUsersMarginForceOrdersRequest\n */\nexport interface QueryUsersMarginForceOrdersRequest {\n    /**\n     * Timestamp in ms to get funding from INCLUSIVE.\n     * @type {number | bigint}\n     * @memberof TradeApiQueryUsersMarginForceOrders\n     */\n    readonly startTime?: number | bigint;\n\n    /**\n     * Timestamp in ms to get funding until INCLUSIVE.\n     * @type {number | bigint}\n     * @memberof TradeApiQueryUsersMarginForceOrders\n     */\n    readonly endTime?: number | bigint;\n\n    /**\n     * Currently querying page. Start from 1. Default:1\n     * @type {number | bigint}\n     * @memberof TradeApiQueryUsersMarginForceOrders\n     */\n    readonly current?: number | bigint;\n\n    /**\n     * Default:10 Max:100\n     * @type {number | bigint}\n     * @memberof TradeApiQueryUsersMarginForceOrders\n     */\n    readonly size?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiQueryUsersMarginForceOrders\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for queryUsersUmForceOrders operation in TradeApi.\n * @interface QueryUsersUmForceOrdersRequest\n */\nexport interface QueryUsersUmForceOrdersRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryUsersUmForceOrders\n     */\n    readonly symbol?: string;\n\n    /**\n     * `LIQUIDATION` for liquidation orders, `ADL` for ADL orders.\n     * @type {'LIQUIDATION' | 'ADL'}\n     * @memberof TradeApiQueryUsersUmForceOrders\n     */\n    readonly autoCloseType?: QueryUsersUmForceOrdersAutoCloseTypeEnum;\n\n    /**\n     * Timestamp in ms to get funding from INCLUSIVE.\n     * @type {number | bigint}\n     * @memberof TradeApiQueryUsersUmForceOrders\n     */\n    readonly startTime?: number | bigint;\n\n    /**\n     * Timestamp in ms to get funding until INCLUSIVE.\n     * @type {number | bigint}\n     * @memberof TradeApiQueryUsersUmForceOrders\n     */\n    readonly endTime?: number | bigint;\n\n    /**\n     * Default 100; max 1000\n     * @type {number | bigint}\n     * @memberof TradeApiQueryUsersUmForceOrders\n     */\n    readonly limit?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiQueryUsersUmForceOrders\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for toggleBnbBurnOnUmFuturesTrade operation in TradeApi.\n * @interface ToggleBnbBurnOnUmFuturesTradeRequest\n */\nexport interface ToggleBnbBurnOnUmFuturesTradeRequest {\n    /**\n     * \"true\": Fee Discount On; \"false\": Fee Discount Off\n     * @type {string}\n     * @memberof TradeApiToggleBnbBurnOnUmFuturesTrade\n     */\n    readonly feeBurn: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiToggleBnbBurnOnUmFuturesTrade\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for umAccountTradeList operation in TradeApi.\n * @interface UmAccountTradeListRequest\n */\nexport interface UmAccountTradeListRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiUmAccountTradeList\n     */\n    readonly symbol: string;\n\n    /**\n     * Timestamp in ms to get funding from INCLUSIVE.\n     * @type {number | bigint}\n     * @memberof TradeApiUmAccountTradeList\n     */\n    readonly startTime?: number | bigint;\n\n    /**\n     * Timestamp in ms to get funding until INCLUSIVE.\n     * @type {number | bigint}\n     * @memberof TradeApiUmAccountTradeList\n     */\n    readonly endTime?: number | bigint;\n\n    /**\n     * Trade id to fetch from. Default gets most recent trades.\n     * @type {number | bigint}\n     * @memberof TradeApiUmAccountTradeList\n     */\n    readonly fromId?: number | bigint;\n\n    /**\n     * Default 100; max 1000\n     * @type {number | bigint}\n     * @memberof TradeApiUmAccountTradeList\n     */\n    readonly limit?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiUmAccountTradeList\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for umPositionAdlQuantileEstimation operation in TradeApi.\n * @interface UmPositionAdlQuantileEstimationRequest\n */\nexport interface UmPositionAdlQuantileEstimationRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiUmPositionAdlQuantileEstimation\n     */\n    readonly symbol?: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof TradeApiUmPositionAdlQuantileEstimation\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * TradeApi - object-oriented interface\n * @class TradeApi\n */\nexport class TradeApi implements TradeApiInterface {\n    private readonly configuration: ConfigurationRestAPI;\n    private localVarAxiosParamCreator;\n\n    constructor(configuration: ConfigurationRestAPI) {\n        this.configuration = configuration;\n        this.localVarAxiosParamCreator = TradeApiAxiosParamCreator(configuration);\n    }\n\n    /**\n     * Cancel All CM Open Conditional Orders\n     *\n     * Weight: 1\n     *\n     * @summary Cancel All CM Open Conditional Orders(TRADE)\n     * @param {CancelAllCmOpenConditionalOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<CancelAllCmOpenConditionalOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-All-CM-Open-Conditional-Orders Binance API Documentation}\n     */\n    public async cancelAllCmOpenConditionalOrders(\n        requestParameters: CancelAllCmOpenConditionalOrdersRequest\n    ): Promise<RestApiResponse<CancelAllCmOpenConditionalOrdersResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.cancelAllCmOpenConditionalOrders(\n                requestParameters?.symbol,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<CancelAllCmOpenConditionalOrdersResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Cancel all active LIMIT orders on specific symbol\n     *\n     * Weight: 1\n     *\n     * @summary Cancel All CM Open Orders(TRADE)\n     * @param {CancelAllCmOpenOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<CancelAllCmOpenOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-All-CM-Open-Orders Binance API Documentation}\n     */\n    public async cancelAllCmOpenOrders(\n        requestParameters: CancelAllCmOpenOrdersRequest\n    ): Promise<RestApiResponse<CancelAllCmOpenOrdersResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.cancelAllCmOpenOrders(\n            requestParameters?.symbol,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<CancelAllCmOpenOrdersResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Cancel All UM Algo Open Orders\n     *\n     * Weight: 1\n     *\n     * @summary Cancel All UM Algo Open Orders (TRADE)\n     * @param {CancelAllUmAlgoOpenOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<CancelAllUmAlgoOpenOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-All-UM-Algo-Open-Orders Binance API Documentation}\n     */\n    public async cancelAllUmAlgoOpenOrders(\n        requestParameters: CancelAllUmAlgoOpenOrdersRequest\n    ): Promise<RestApiResponse<CancelAllUmAlgoOpenOrdersResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.cancelAllUmAlgoOpenOrders(\n            requestParameters?.symbol,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<CancelAllUmAlgoOpenOrdersResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Cancel All UM Open Conditional Orders\n     *\n     * Weight: 1\n     *\n     * @summary Cancel All UM Open Conditional Orders\n     * @param {CancelAllUmOpenConditionalOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<CancelAllUmOpenConditionalOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-All-UM-Open-Conditional-Orders Binance API Documentation}\n     */\n    public async cancelAllUmOpenConditionalOrders(\n        requestParameters: CancelAllUmOpenConditionalOrdersRequest\n    ): Promise<RestApiResponse<CancelAllUmOpenConditionalOrdersResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.cancelAllUmOpenConditionalOrders(\n                requestParameters?.symbol,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<CancelAllUmOpenConditionalOrdersResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Cancel all active LIMIT orders on specific symbol\n     *\n     * Weight: 1\n     *\n     * @summary Cancel All UM Open Orders(TRADE)\n     * @param {CancelAllUmOpenOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<CancelAllUmOpenOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-All-UM-Open-Orders Binance API Documentation}\n     */\n    public async cancelAllUmOpenOrders(\n        requestParameters: CancelAllUmOpenOrdersRequest\n    ): Promise<RestApiResponse<CancelAllUmOpenOrdersResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.cancelAllUmOpenOrders(\n            requestParameters?.symbol,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<CancelAllUmOpenOrdersResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Cancel CM Conditional Order\n     *\n     * Either `strategyId` or `newClientStrategyId` must be sent.\n     *\n     * Weight: 1\n     *\n     * @summary Cancel CM Conditional Order(TRADE)\n     * @param {CancelCmConditionalOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<CancelCmConditionalOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-CM-Conditional-Order Binance API Documentation}\n     */\n    public async cancelCmConditionalOrder(\n        requestParameters: CancelCmConditionalOrderRequest\n    ): Promise<RestApiResponse<CancelCmConditionalOrderResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.cancelCmConditionalOrder(\n            requestParameters?.symbol,\n            requestParameters?.strategyId,\n            requestParameters?.newClientStrategyId,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<CancelCmConditionalOrderResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Cancel an active LIMIT order\n     *\n     * Either `orderId` or `origClientOrderId` must be sent.\n     *\n     * Weight: 1\n     *\n     * @summary Cancel CM Order(TRADE)\n     * @param {CancelCmOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<CancelCmOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-CM-Order Binance API Documentation}\n     */\n    public async cancelCmOrder(\n        requestParameters: CancelCmOrderRequest\n    ): Promise<RestApiResponse<CancelCmOrderResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.cancelCmOrder(\n            requestParameters?.symbol,\n            requestParameters?.orderId,\n            requestParameters?.origClientOrderId,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<CancelCmOrderResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Cancel Margin Account All Open Orders on a Symbol\n     *\n     * Weight: 5\n     *\n     * @summary Cancel Margin Account All Open Orders on a Symbol(TRADE)\n     * @param {CancelMarginAccountAllOpenOrdersOnASymbolRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<CancelMarginAccountAllOpenOrdersOnASymbolResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-Margin-Account-All-Open-Orders-on-a-Symbol Binance API Documentation}\n     */\n    public async cancelMarginAccountAllOpenOrdersOnASymbol(\n        requestParameters: CancelMarginAccountAllOpenOrdersOnASymbolRequest\n    ): Promise<RestApiResponse<CancelMarginAccountAllOpenOrdersOnASymbolResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.cancelMarginAccountAllOpenOrdersOnASymbol(\n                requestParameters?.symbol,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<CancelMarginAccountAllOpenOrdersOnASymbolResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Cancel Margin Account OCO Orders\n     *\n     * Additional notes: Canceling an individual leg will cancel the entire OCO\n     *\n     * Weight: 2\n     *\n     * @summary Cancel Margin Account OCO Orders(TRADE)\n     * @param {CancelMarginAccountOcoOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<CancelMarginAccountOcoOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-Margin-Account-OCO-Orders Binance API Documentation}\n     */\n    public async cancelMarginAccountOcoOrders(\n        requestParameters: CancelMarginAccountOcoOrdersRequest\n    ): Promise<RestApiResponse<CancelMarginAccountOcoOrdersResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.cancelMarginAccountOcoOrders(\n            requestParameters?.symbol,\n            requestParameters?.orderListId,\n            requestParameters?.listClientOrderId,\n            requestParameters?.newClientOrderId,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<CancelMarginAccountOcoOrdersResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Cancel Margin Account Order\n     *\n     * Either `orderId` or `origClientOrderId` must be sent.\n     *\n     * Weight: 2\n     *\n     * @summary Cancel Margin Account Order(TRADE)\n     * @param {CancelMarginAccountOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<CancelMarginAccountOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-Margin-Account-Order Binance API Documentation}\n     */\n    public async cancelMarginAccountOrder(\n        requestParameters: CancelMarginAccountOrderRequest\n    ): Promise<RestApiResponse<CancelMarginAccountOrderResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.cancelMarginAccountOrder(\n            requestParameters?.symbol,\n            requestParameters?.orderId,\n            requestParameters?.origClientOrderId,\n            requestParameters?.newClientOrderId,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<CancelMarginAccountOrderResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Cancel an active UM algo order.\n     *\n     * Either `algoId` or `clientAlgoId` must be sent.\n     *\n     * Weight: 1\n     *\n     * @summary Cancel UM Algo Order (TRADE)\n     * @param {CancelUmAlgoOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<CancelUmAlgoOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-UM-Algo-Order Binance API Documentation}\n     */\n    public async cancelUmAlgoOrder(\n        requestParameters: CancelUmAlgoOrderRequest = {}\n    ): Promise<RestApiResponse<CancelUmAlgoOrderResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.cancelUmAlgoOrder(\n            requestParameters?.algoId,\n            requestParameters?.clientAlgoId,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<CancelUmAlgoOrderResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Cancel UM Conditional Order\n     *\n     * Either `strategyId` or `newClientStrategyId` must be sent.\n     *\n     * Weight: 1\n     *\n     * @summary Cancel UM Conditional Order\n     * @param {CancelUmConditionalOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<CancelUmConditionalOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-UM-Conditional-Order Binance API Documentation}\n     */\n    public async cancelUmConditionalOrder(\n        requestParameters: CancelUmConditionalOrderRequest\n    ): Promise<RestApiResponse<CancelUmConditionalOrderResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.cancelUmConditionalOrder(\n            requestParameters?.symbol,\n            requestParameters?.strategyId,\n            requestParameters?.newClientStrategyId,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<CancelUmConditionalOrderResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Cancel an active UM LIMIT order\n     *\n     * Either `orderId` or `origClientOrderId` must be sent.\n     *\n     * Weight: 1\n     *\n     * @summary Cancel UM Order(TRADE)\n     * @param {CancelUmOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<CancelUmOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-UM-Order Binance API Documentation}\n     */\n    public async cancelUmOrder(\n        requestParameters: CancelUmOrderRequest\n    ): Promise<RestApiResponse<CancelUmOrderResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.cancelUmOrder(\n            requestParameters?.symbol,\n            requestParameters?.orderId,\n            requestParameters?.origClientOrderId,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<CancelUmOrderResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get trades for a specific account and CM symbol.\n     *\n     * Either `symbol` or `pair` must be sent\n     * `symbol` and `pair` cannot be sent together\n     * `pair` and `fromId` cannot be sent together\n     * `OrderId` can only be sent together with symbol\n     * If a `pair` is sent, tickers for all symbols of the `pair` will be returned\n     * The parameter `fromId` cannot be sent with `startTime` or `endTime`\n     * If `startTime` and `endTime` are both not sent, then the last '24 hours' data will be returned.\n     * The time between `startTime` and `endTime` cannot be longer than 24 hours.\n     *\n     * Weight: 20 with symbol, 40 with pair\n     *\n     * @summary CM Account Trade List(USER_DATA)\n     * @param {CmAccountTradeListRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<CmAccountTradeListResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/CM-Account-Trade-List Binance API Documentation}\n     */\n    public async cmAccountTradeList(\n        requestParameters: CmAccountTradeListRequest = {}\n    ): Promise<RestApiResponse<CmAccountTradeListResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.cmAccountTradeList(\n            requestParameters?.symbol,\n            requestParameters?.pair,\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.fromId,\n            requestParameters?.limit,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<CmAccountTradeListResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query CM Position ADL Quantile Estimation\n     * Values update every 30s.\n     * Values 0, 1, 2, 3, 4 shows the queue position and possibility of ADL from low to high.\n     * For positions of the symbol are in One-way Mode or isolated margined in Hedge Mode, \"LONG\", \"SHORT\", and \"BOTH\" will be returned to show the positions' adl quantiles of different position sides.\n     * If the positions of the symbol are crossed margined in Hedge Mode:\n     * \"HEDGE\" as a sign will be returned instead of \"BOTH\";\n     * A same value caculated on unrealized pnls on long and short sides' positions will be shown for \"LONG\" and \"SHORT\" when there are positions in both of long and short sides.\n     *\n     * Weight: 5\n     *\n     * @summary CM Position ADL Quantile Estimation(USER_DATA)\n     * @param {CmPositionAdlQuantileEstimationRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<CmPositionAdlQuantileEstimationResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/CM-Position-ADL-Quantile-Estimation Binance API Documentation}\n     */\n    public async cmPositionAdlQuantileEstimation(\n        requestParameters: CmPositionAdlQuantileEstimationRequest = {}\n    ): Promise<RestApiResponse<CmPositionAdlQuantileEstimationResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.cmPositionAdlQuantileEstimation(\n                requestParameters?.symbol,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<CmPositionAdlQuantileEstimationResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Sign TradFi-Perps agreement contract\n     *\n     * Weight: 5\n     *\n     * @summary Futures TradFi Perps Contract(USER_DATA)\n     * @param {FuturesTradfiPerpsContractRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<FuturesTradfiPerpsContractResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Futures-TradFi-Perps-Contract Binance API Documentation}\n     */\n    public async futuresTradfiPerpsContract(\n        requestParameters: FuturesTradfiPerpsContractRequest = {}\n    ): Promise<RestApiResponse<FuturesTradfiPerpsContractResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.futuresTradfiPerpsContract(\n            requestParameters?.recvWindow\n        );\n        return sendRequest<FuturesTradfiPerpsContractResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get user's BNB Fee Discount for UM Futures (Fee Discount On or Fee Discount Off )\n     *\n     * Weight: 30\n     *\n     * @summary Get UM Futures BNB Burn Status (USER_DATA)\n     * @param {GetUmFuturesBnbBurnStatusRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetUmFuturesBnbBurnStatusResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Get-UM-Futures-BNB-Burn-Status Binance API Documentation}\n     */\n    public async getUmFuturesBnbBurnStatus(\n        requestParameters: GetUmFuturesBnbBurnStatusRequest = {}\n    ): Promise<RestApiResponse<GetUmFuturesBnbBurnStatusResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getUmFuturesBnbBurnStatus(\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetUmFuturesBnbBurnStatusResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Apply for a margin loan.\n     *\n     * Weight: 100\n     *\n     * @summary Margin Account Borrow(MARGIN)\n     * @param {MarginAccountBorrowRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<MarginAccountBorrowResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Margin-Account-Borrow Binance API Documentation}\n     */\n    public async marginAccountBorrow(\n        requestParameters: MarginAccountBorrowRequest\n    ): Promise<RestApiResponse<MarginAccountBorrowResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.marginAccountBorrow(\n            requestParameters?.asset,\n            requestParameters?.amount,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<MarginAccountBorrowResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Send in a new OCO for a margin account\n     *\n     * Price Restrictions:\n     * `SELL`: Limit Price > Last Price > Stop Price\n     * `BUY`: Limit Price < Last Price < Stop Price\n     * Quantity Restrictions:\n     * Both legs must have the same quantity\n     * `ICEBERG` quantities however do not have to be the same.\n     * Order Rate Limit\n     * `OCO` counts as 2 orders against the order rate limit.\n     *\n     * Weight: 1\n     *\n     * @summary Margin Account New OCO(TRADE)\n     * @param {MarginAccountNewOcoRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<MarginAccountNewOcoResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Margin-Account-New-OCO Binance API Documentation}\n     */\n    public async marginAccountNewOco(\n        requestParameters: MarginAccountNewOcoRequest\n    ): Promise<RestApiResponse<MarginAccountNewOcoResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.marginAccountNewOco(\n            requestParameters?.symbol,\n            requestParameters?.side,\n            requestParameters?.quantity,\n            requestParameters?.price,\n            requestParameters?.stopPrice,\n            requestParameters?.listClientOrderId,\n            requestParameters?.limitClientOrderId,\n            requestParameters?.limitIcebergQty,\n            requestParameters?.stopClientOrderId,\n            requestParameters?.stopLimitPrice,\n            requestParameters?.stopIcebergQty,\n            requestParameters?.stopLimitTimeInForce,\n            requestParameters?.newOrderRespType,\n            requestParameters?.sideEffectType,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<MarginAccountNewOcoResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Repay for a margin loan.\n     *\n     * Weight: 100\n     *\n     * @summary Margin Account Repay(MARGIN)\n     * @param {MarginAccountRepayRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<MarginAccountRepayResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Margin-Account-Repay Binance API Documentation}\n     */\n    public async marginAccountRepay(\n        requestParameters: MarginAccountRepayRequest\n    ): Promise<RestApiResponse<MarginAccountRepayResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.marginAccountRepay(\n            requestParameters?.asset,\n            requestParameters?.amount,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<MarginAccountRepayResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Repay debt for a margin loan.\n     *\n     * The repay asset amount cannot exceed 50000 USD equivalent value for a single request.\n     * If `amount` is not sent, all the asset loan will be repaid if having enough specific repay assets.\n     * If `amount` is sent, only the certain amount of the asset loan will be repaid if having enough specific repay assets.\n     * The system will use the same asset to repay the loan first (if have) no matter whether put the asset in `specifyRepayAssets`\n     *\n     * Weight: 3000\n     *\n     * @summary Margin Account Repay Debt(TRADE)\n     * @param {MarginAccountRepayDebtRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<MarginAccountRepayDebtResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Margin-Account-Repay-Debt Binance API Documentation}\n     */\n    public async marginAccountRepayDebt(\n        requestParameters: MarginAccountRepayDebtRequest\n    ): Promise<RestApiResponse<MarginAccountRepayDebtResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.marginAccountRepayDebt(\n            requestParameters?.asset,\n            requestParameters?.amount,\n            requestParameters?.specifyRepayAssets,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<MarginAccountRepayDebtResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Margin Account Trade List\n     *\n     * Weight: 5\n     *\n     * @summary Margin Account Trade List (USER_DATA)\n     * @param {MarginAccountTradeListRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<MarginAccountTradeListResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Margin-Account-Trade-List Binance API Documentation}\n     */\n    public async marginAccountTradeList(\n        requestParameters: MarginAccountTradeListRequest\n    ): Promise<RestApiResponse<MarginAccountTradeListResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.marginAccountTradeList(\n            requestParameters?.symbol,\n            requestParameters?.orderId,\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.fromId,\n            requestParameters?.limit,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<MarginAccountTradeListResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Order modify function, currently only LIMIT order modification is supported, modified orders will be reordered in the match queue\n     *\n     * Either `orderId` or `origClientOrderId` must be sent, and the `orderId` will prevail if both are sent.\n     * Both `quantity` and `price` must be sent\n     * When the new `quantity` or `price` doesn't satisfy PRICE_FILTER / PERCENT_FILTER / LOT_SIZE, amendment will be rejected and the order will stay as it is.\n     * However the order will be cancelled by the amendment in the following situations:\n     * when the order is in partially filled status and the new `quantity` <= `executedQty`\n     * When the order is `GTX` and the new price will cause it to be executed immediately\n     *\n     * Weight: 1\n     *\n     * @summary Modify CM Order(TRADE)\n     * @param {ModifyCmOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<ModifyCmOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Modify-CM-Order Binance API Documentation}\n     */\n    public async modifyCmOrder(\n        requestParameters: ModifyCmOrderRequest\n    ): Promise<RestApiResponse<ModifyCmOrderResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.modifyCmOrder(\n            requestParameters?.symbol,\n            requestParameters?.side,\n            requestParameters?.quantity,\n            requestParameters?.price,\n            requestParameters?.orderId,\n            requestParameters?.origClientOrderId,\n            requestParameters?.priceMatch,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<ModifyCmOrderResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Order modify function, currently only LIMIT order modification is supported, modified orders will be reordered in the match queue\n     *\n     * Either orderId or origClientOrderId must be sent, and the orderId will prevail if both are sent.\n     * Both quantity and price must be sent\n     * When the new quantity or price doesn't satisfy PRICE_FILTER / PERCENT_FILTER / LOT_SIZE, amendment will be rejected and the order will stay as it is.\n     * However the order will be cancelled by the amendment in the following situations:\n     * when the order is in partially filled status and the new quantity <= executedQty\n     * When the order is GTX and the new price will cause it to be executed immediately\n     *\n     * Weight: 1\n     *\n     * @summary Modify UM Order(TRADE)\n     * @param {ModifyUmOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<ModifyUmOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Modify-UM-Order Binance API Documentation}\n     */\n    public async modifyUmOrder(\n        requestParameters: ModifyUmOrderRequest\n    ): Promise<RestApiResponse<ModifyUmOrderResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.modifyUmOrder(\n            requestParameters?.symbol,\n            requestParameters?.side,\n            requestParameters?.quantity,\n            requestParameters?.price,\n            requestParameters?.orderId,\n            requestParameters?.origClientOrderId,\n            requestParameters?.priceMatch,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<ModifyUmOrderResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * New CM Conditional Order\n     *\n     * Order with type `STOP/TAKE_PROFIT`, parameter `timeInForce` can be sent ( default `GTC`).\n     * Condition orders will be triggered when:\n     * `STOP`, `STOP_MARKET`:\n     * BUY: \"MARK_PRICE\"  >= `stopPrice`\n     * SELL: \"MARK_PRICE\" <= `stopPrice`\n     * `TAKE_PROFIT`, `TAKE_PROFIT_MARKET`:\n     * BUY: \"MARK_PRICE\" <= `stopPrice`\n     * SELL: \"MARK_PRICE\" >= `stopPrice`\n     * `TRAILING_STOP_MARKET`:\n     * BUY: the lowest mark price after order placed `<= `activationPrice`, and the latest mark price >`= the lowest mark price * (1 + `callbackRate`)\n     * SELL: the highest mark price after order placed >= `activationPrice`, and the latest mark price <= the highest mark price * (1 - `callbackRate`)\n     * For `TRAILING_STOP_MARKET`, if you got such error code. `{\"code\": -2021, \"msg\": \"Order would immediately trigger.\"}` means that the parameters you send do not meet the following requirements:\n     * BUY: `activationPrice` should be smaller than latest mark price.\n     * SELL: `activationPrice` should be larger than latest mark price.\n     * Condition orders will be triggered when:\n     * If parameter`priceProtect`is sent as true:\n     * when price reaches the `stopPrice` ，the difference rate between \"MARK_PRICE\" and \"CONTRACT_PRICE\" cannot be larger than the \"triggerProtect\" of the symbol\n     * \"triggerProtect\" of a symbol can be got from `GET /fapi/v1/exchangeInfo`\n     * `STOP`, `STOP_MARKET`:\n     * BUY: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") >= `stopPrice`\n     * SELL: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") <= `stopPrice`\n     * `TAKE_PROFIT`, `TAKE_PROFIT_MARKET`:\n     * BUY: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") <= `stopPrice`\n     * SELL: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") >= `stopPrice`\n     *\n     * Weight: 1\n     *\n     * @summary New CM Conditional Order(TRADE)\n     * @param {NewCmConditionalOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<NewCmConditionalOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/New-CM-Conditional-Order Binance API Documentation}\n     */\n    public async newCmConditionalOrder(\n        requestParameters: NewCmConditionalOrderRequest\n    ): Promise<RestApiResponse<NewCmConditionalOrderResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.newCmConditionalOrder(\n            requestParameters?.symbol,\n            requestParameters?.side,\n            requestParameters?.strategyType,\n            requestParameters?.positionSide,\n            requestParameters?.timeInForce,\n            requestParameters?.quantity,\n            requestParameters?.reduceOnly,\n            requestParameters?.price,\n            requestParameters?.workingType,\n            requestParameters?.priceProtect,\n            requestParameters?.newClientStrategyId,\n            requestParameters?.stopPrice,\n            requestParameters?.activationPrice,\n            requestParameters?.callbackRate,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<NewCmConditionalOrderResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Place new CM order\n     *\n     * If `newOrderRespType` is sent as `RESULT` :\n     * `MARKET` order: the final FILLED result of the order will be return directly.\n     * `LIMIT` order with special `timeInForce`: the final status result of the order(FILLED or EXPIRED) will be returned directly.\n     *\n     * Weight: 1\n     *\n     * @summary New CM Order(TRADE)\n     * @param {NewCmOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<NewCmOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/New-CM-Order Binance API Documentation}\n     */\n    public async newCmOrder(\n        requestParameters: NewCmOrderRequest\n    ): Promise<RestApiResponse<NewCmOrderResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.newCmOrder(\n            requestParameters?.symbol,\n            requestParameters?.side,\n            requestParameters?.type,\n            requestParameters?.positionSide,\n            requestParameters?.timeInForce,\n            requestParameters?.quantity,\n            requestParameters?.reduceOnly,\n            requestParameters?.price,\n            requestParameters?.priceMatch,\n            requestParameters?.newClientOrderId,\n            requestParameters?.newOrderRespType,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<NewCmOrderResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * New Margin Order\n     *\n     * Weight: 1\n     *\n     * @summary New Margin Order(TRADE)\n     * @param {NewMarginOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<NewMarginOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/New-Margin-Order Binance API Documentation}\n     */\n    public async newMarginOrder(\n        requestParameters: NewMarginOrderRequest\n    ): Promise<RestApiResponse<NewMarginOrderResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.newMarginOrder(\n            requestParameters?.symbol,\n            requestParameters?.side,\n            requestParameters?.type,\n            requestParameters?.quantity,\n            requestParameters?.quoteOrderQty,\n            requestParameters?.price,\n            requestParameters?.stopPrice,\n            requestParameters?.newClientOrderId,\n            requestParameters?.newOrderRespType,\n            requestParameters?.icebergQty,\n            requestParameters?.sideEffectType,\n            requestParameters?.timeInForce,\n            requestParameters?.selfTradePreventionMode,\n            requestParameters?.autoRepayAtCancel,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<NewMarginOrderResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Place new UM conditional order\n     *\n     * Algo order with type `STOP`,  parameter `timeInForce` can be sent ( default `GTC`).\n     * Algo order with type `TAKE_PROFIT`,  parameter `timeInForce` can be sent ( default `GTC`).\n     * Condition orders will be triggered when:\n     *\n     * If parameter`priceProtect`is sent as true:\n     * when price reaches the `triggerPrice` , the difference rate between \"MARK_PRICE\" and \"CONTRACT_PRICE\" cannot be larger than the \"triggerProtect\" of the symbol\n     * \"triggerProtect\" of a symbol can be got from `GET /fapi/v1/exchangeInfo`\n     *\n     * `STOP`, `STOP_MARKET`:\n     * BUY: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") >= `triggerPrice`\n     * SELL: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") <= `triggerPrice`\n     * `TAKE_PROFIT`, `TAKE_PROFIT_MARKET`:\n     * BUY: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") <= `triggerPrice`\n     * SELL: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") >= `triggerPrice`\n     * `TRAILING_STOP_MARKET`:\n     * BUY: the lowest price after order placed <= `activatePrice`, and the latest price >= the lowest price * (1 + `callbackRate`)\n     * SELL: the highest price after order placed >= `activatePrice`, and the latest price <= the highest price * (1 - `callbackRate`)\n     *\n     * For `TRAILING_STOP_MARKET`, if you got such error code.\n     * ``{\"code\": -2021, \"msg\": \"Order would immediately trigger.\"}``\n     * means that the parameters you send do not meet the following requirements:\n     * BUY: `activatePrice` should be smaller than latest price.\n     * SELL: `activatePrice` should be larger than latest price.\n     *\n     * `selfTradePreventionMode` is only effective when `timeInForce` set to `IOC` or `GTC` or `GTD`.\n     *\n     * Weight: 1\n     *\n     * @summary New UM Algo Order (TRADE)\n     * @param {NewUmAlgoOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<NewUmAlgoOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/New-UM-Algo-Order Binance API Documentation}\n     */\n    public async newUmAlgoOrder(\n        requestParameters: NewUmAlgoOrderRequest\n    ): Promise<RestApiResponse<NewUmAlgoOrderResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.newUmAlgoOrder(\n            requestParameters?.algoType,\n            requestParameters?.symbol,\n            requestParameters?.side,\n            requestParameters?.type,\n            requestParameters?.quantity,\n            requestParameters?.positionSide,\n            requestParameters?.timeInForce,\n            requestParameters?.price,\n            requestParameters?.triggerPrice,\n            requestParameters?.workingType,\n            requestParameters?.priceMatch,\n            requestParameters?.priceProtect,\n            requestParameters?.reduceOnly,\n            requestParameters?.activatePrice,\n            requestParameters?.callbackRate,\n            requestParameters?.clientAlgoId,\n            requestParameters?.newOrderRespType,\n            requestParameters?.selfTradePreventionMode,\n            requestParameters?.goodTillDate,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<NewUmAlgoOrderResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Place new UM conditional order\n     *\n     * Order with type `STOP/TAKE_PROFIT`, parameter `timeInForce` can be sent ( default `GTC`).\n     * Condition orders will be triggered when:\n     * `STOP`, `STOP_MARKET`:\n     * BUY: \"MARK_PRICE\"  >= `stopPrice`\n     * SELL: \"MARK_PRICE\" <= `stopPrice`\n     * `TAKE_PROFIT`, `TAKE_PROFIT_MARKET`:\n     * BUY: \"MARK_PRICE\" <= `stopPrice`\n     * SELL: \"MARK_PRICE\" >= `stopPrice`\n     * `TRAILING_STOP_MARKET`:\n     * BUY: the lowest mark price after order placed `<= `activationPrice`, and the latest mark price >`= the lowest mark price * (1 + `callbackRate`)\n     * SELL: the highest mark price after order placed >= `activationPrice`, and the latest mark price <= the highest mark price * (1 - `callbackRate`)\n     * For `TRAILING_STOP_MARKET`, if you got such error code. `{\"code\": -2021, \"msg\": \"Order would immediately trigger.\"}` means that the parameters you send do not meet the following requirements:\n     * BUY: `activationPrice` should be smaller than latest mark price.\n     * SELL: `activationPrice` should be larger than latest mark price.\n     * Condition orders will be triggered when:\n     * If parameter`priceProtect`is sent as true:\n     * when price reaches the `stopPrice` ，the difference rate between \"MARK_PRICE\" and \"CONTRACT_PRICE\" cannot be larger than the \"triggerProtect\" of the symbol\n     * \"triggerProtect\" of a symbol can be got from `GET /fapi/v1/exchangeInfo`\n     * `STOP`, `STOP_MARKET`:\n     * BUY: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") >= `stopPrice`\n     * SELL: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") <= `stopPrice`\n     * `TAKE_PROFIT`, `TAKE_PROFIT_MARKET`:\n     * BUY: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") <= `stopPrice`\n     * SELL: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") >= `stopPrice`\n     * `selfTradePreventionMode` is only effective when `timeInForce` set to `IOC` or `GTC` or `GTD`.\n     * In extreme market conditions, timeInForce `GTD` order auto cancel time might be delayed comparing to `goodTillDate`\n     *\n     * Weight: 1\n     *\n     * @summary New UM Conditional Order\n     * @param {NewUmConditionalOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<NewUmConditionalOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/New-UM-Conditional-Order Binance API Documentation}\n     */\n    public async newUmConditionalOrder(\n        requestParameters: NewUmConditionalOrderRequest\n    ): Promise<RestApiResponse<NewUmConditionalOrderResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.newUmConditionalOrder(\n            requestParameters?.symbol,\n            requestParameters?.side,\n            requestParameters?.strategyType,\n            requestParameters?.positionSide,\n            requestParameters?.timeInForce,\n            requestParameters?.quantity,\n            requestParameters?.reduceOnly,\n            requestParameters?.price,\n            requestParameters?.workingType,\n            requestParameters?.priceProtect,\n            requestParameters?.newClientStrategyId,\n            requestParameters?.stopPrice,\n            requestParameters?.activationPrice,\n            requestParameters?.callbackRate,\n            requestParameters?.priceMatch,\n            requestParameters?.selfTradePreventionMode,\n            requestParameters?.goodTillDate,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<NewUmConditionalOrderResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Place new UM order\n     *\n     * If `newOrderRespType` is sent as `RESULT` :\n     * `MARKET` order: the final FILLED result of the order will be return directly.\n     * `LIMIT` order with special `timeInForce`: the final status result of the order(FILLED or EXPIRED) will be returned directly.\n     * `selfTradePreventionMode` is only effective when `timeInForce` set to `IOC` or `GTC` or `GTD`.\n     * In extreme market conditions, timeInForce `GTD` order auto cancel time might be delayed comparing to `goodTillDate`\n     *\n     * Weight: 1\n     *\n     * @summary New UM Order (TRADE)\n     * @param {NewUmOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<NewUmOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/New-UM-Order Binance API Documentation}\n     */\n    public async newUmOrder(\n        requestParameters: NewUmOrderRequest\n    ): Promise<RestApiResponse<NewUmOrderResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.newUmOrder(\n            requestParameters?.symbol,\n            requestParameters?.side,\n            requestParameters?.type,\n            requestParameters?.positionSide,\n            requestParameters?.timeInForce,\n            requestParameters?.quantity,\n            requestParameters?.reduceOnly,\n            requestParameters?.price,\n            requestParameters?.newClientOrderId,\n            requestParameters?.newOrderRespType,\n            requestParameters?.priceMatch,\n            requestParameters?.selfTradePreventionMode,\n            requestParameters?.goodTillDate,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<NewUmOrderResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query All CM Conditional Orders\n     *\n     * These orders will not be found:\n     * order strategyStatus is `CANCELED` or `EXPIRED`, **AND**\n     * order has NO filled trade, **AND**\n     * created time + 7 days < current time\n     * The query time period must be less than 7 days( default as the recent 7 days).\n     *\n     * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n     *\n     * @summary Query All CM Conditional Orders(USER_DATA)\n     * @param {QueryAllCmConditionalOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryAllCmConditionalOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-CM-Conditional-Orders Binance API Documentation}\n     */\n    public async queryAllCmConditionalOrders(\n        requestParameters: QueryAllCmConditionalOrdersRequest = {}\n    ): Promise<RestApiResponse<QueryAllCmConditionalOrdersResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryAllCmConditionalOrders(\n            requestParameters?.symbol,\n            requestParameters?.strategyId,\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.limit,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryAllCmConditionalOrdersResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get all account CM orders; active, canceled, or filled.\n     *\n     * Either `symbol` or `pair` must be sent.\n     * If `orderId` is set, it will get orders >= that orderId. Otherwise most recent orders are returned.\n     * These orders will not be found:\n     * order status is `CANCELED` or `EXPIRED`, **AND**\n     * order has NO filled trade, **AND**\n     * created time + 3 days < current time\n     *\n     * Weight: 20 with symbol, 40 with pair\n     *\n     * @summary Query All CM Orders (USER_DATA)\n     * @param {QueryAllCmOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryAllCmOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-CM-Orders Binance API Documentation}\n     */\n    public async queryAllCmOrders(\n        requestParameters: QueryAllCmOrdersRequest\n    ): Promise<RestApiResponse<QueryAllCmOrdersResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryAllCmOrders(\n            requestParameters?.symbol,\n            requestParameters?.pair,\n            requestParameters?.orderId,\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.limit,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryAllCmOrdersResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get all open conditional orders on a symbol. **Careful** when accessing this with no symbol.\n     *\n     * If the symbol is not sent, orders for all symbols will be returned in an array.\n     *\n     * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n     *\n     * @summary Query All Current CM Open Conditional Orders (USER_DATA)\n     * @param {QueryAllCurrentCmOpenConditionalOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryAllCurrentCmOpenConditionalOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Current-CM-Open-Conditional-Orders Binance API Documentation}\n     */\n    public async queryAllCurrentCmOpenConditionalOrders(\n        requestParameters: QueryAllCurrentCmOpenConditionalOrdersRequest = {}\n    ): Promise<RestApiResponse<QueryAllCurrentCmOpenConditionalOrdersResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.queryAllCurrentCmOpenConditionalOrders(\n                requestParameters?.symbol,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<QueryAllCurrentCmOpenConditionalOrdersResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get all open orders on a symbol.\n     *\n     * If the symbol is not sent, orders for all symbols will be returned in an array.\n     *\n     * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n     * Careful when accessing this with no symbol.\n     *\n     * @summary Query All Current CM Open Orders(USER_DATA)\n     * @param {QueryAllCurrentCmOpenOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryAllCurrentCmOpenOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Current-CM-Open-Orders Binance API Documentation}\n     */\n    public async queryAllCurrentCmOpenOrders(\n        requestParameters: QueryAllCurrentCmOpenOrdersRequest = {}\n    ): Promise<RestApiResponse<QueryAllCurrentCmOpenOrdersResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryAllCurrentCmOpenOrders(\n            requestParameters?.symbol,\n            requestParameters?.pair,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryAllCurrentCmOpenOrdersResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get all UM open algo orders on a symbol.\n     *\n     * If the symbol is not sent, orders for all symbols will be returned in an array.\n     *\n     * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n     * Careful when accessing this with no symbol.\n     *\n     * @summary Query All Current UM Open Algo Orders (USER_DATA)\n     * @param {QueryAllCurrentUmOpenAlgoOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryAllCurrentUmOpenAlgoOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Current-UM-Open-Algo-Orders Binance API Documentation}\n     */\n    public async queryAllCurrentUmOpenAlgoOrders(\n        requestParameters: QueryAllCurrentUmOpenAlgoOrdersRequest = {}\n    ): Promise<RestApiResponse<QueryAllCurrentUmOpenAlgoOrdersResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.queryAllCurrentUmOpenAlgoOrders(\n                requestParameters?.algoType,\n                requestParameters?.symbol,\n                requestParameters?.algoId,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<QueryAllCurrentUmOpenAlgoOrdersResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get all open conditional orders on a symbol.\n     *\n     * If the symbol is not sent, orders for all symbols will be returned in an array.\n     *\n     * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n     * Careful when accessing this with no symbol.\n     *\n     * @summary Query All Current UM Open Conditional Orders\n     * @param {QueryAllCurrentUmOpenConditionalOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryAllCurrentUmOpenConditionalOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Current-UM-Open-Conditional-Orders Binance API Documentation}\n     */\n    public async queryAllCurrentUmOpenConditionalOrders(\n        requestParameters: QueryAllCurrentUmOpenConditionalOrdersRequest = {}\n    ): Promise<RestApiResponse<QueryAllCurrentUmOpenConditionalOrdersResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.queryAllCurrentUmOpenConditionalOrders(\n                requestParameters?.symbol,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<QueryAllCurrentUmOpenConditionalOrdersResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get all open orders on a symbol.\n     *\n     *\n     * If the symbol is not sent, orders for all symbols will be returned in an array.\n     *\n     * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n     *\n     * @summary Query All Current UM Open Orders(USER_DATA)\n     * @param {QueryAllCurrentUmOpenOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryAllCurrentUmOpenOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Current-UM-Open-Orders Binance API Documentation}\n     */\n    public async queryAllCurrentUmOpenOrders(\n        requestParameters: QueryAllCurrentUmOpenOrdersRequest = {}\n    ): Promise<RestApiResponse<QueryAllCurrentUmOpenOrdersResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryAllCurrentUmOpenOrders(\n            requestParameters?.symbol,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryAllCurrentUmOpenOrdersResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query All Margin Account Orders\n     *\n     * Weight: 100\n     *\n     * @summary Query All Margin Account Orders (USER_DATA)\n     * @param {QueryAllMarginAccountOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryAllMarginAccountOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Margin-Account-Orders Binance API Documentation}\n     */\n    public async queryAllMarginAccountOrders(\n        requestParameters: QueryAllMarginAccountOrdersRequest\n    ): Promise<RestApiResponse<QueryAllMarginAccountOrdersResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryAllMarginAccountOrders(\n            requestParameters?.symbol,\n            requestParameters?.orderId,\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.limit,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryAllMarginAccountOrdersResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query All UM Conditional Orders\n     *\n     * These orders will not be found:\n     * order strategyStatus is `CANCELED` or `EXPIRED`, **AND**\n     * order has NO filled trade, **AND**\n     * created time + 7 days < current time\n     * The query time period must be less than 7 days( default as the recent 7 days).\n     *\n     * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n     *\n     * @summary Query All UM Conditional Orders\n     * @param {QueryAllUmConditionalOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryAllUmConditionalOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-UM-Conditional-Orders Binance API Documentation}\n     */\n    public async queryAllUmConditionalOrders(\n        requestParameters: QueryAllUmConditionalOrdersRequest = {}\n    ): Promise<RestApiResponse<QueryAllUmConditionalOrdersResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryAllUmConditionalOrders(\n            requestParameters?.symbol,\n            requestParameters?.strategyId,\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.limit,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryAllUmConditionalOrdersResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get all account UM orders; active, canceled, or filled.\n     * These orders will not be found:\n     * order status is `CANCELED` or `EXPIRED`, **AND**\n     * order has NO filled trade, **AND**\n     * created time + 3 days < current time\n     *\n     * If `orderId` is set, it will get orders >= that orderId. Otherwise most recent orders are returned.\n     * The query time period must be less then 7 days( default as the recent 7 days).\n     *\n     * Weight: 5\n     *\n     * @summary Query All UM Orders(USER_DATA)\n     * @param {QueryAllUmOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryAllUmOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-UM-Orders Binance API Documentation}\n     */\n    public async queryAllUmOrders(\n        requestParameters: QueryAllUmOrdersRequest\n    ): Promise<RestApiResponse<QueryAllUmOrdersResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryAllUmOrders(\n            requestParameters?.symbol,\n            requestParameters?.orderId,\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.limit,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryAllUmOrdersResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query CM Conditional Order History\n     *\n     *\n     * Either `strategyId` or `newClientStrategyId` must be sent.\n     * `NEW` orders will not be found.\n     * These orders will not be found:\n     * order status is `CANCELED` or `EXPIRED`, **AND**\n     * order has NO filled trade, **AND**\n     * created time + 7 days < current time\n     *\n     * Weight: 1\n     *\n     * @summary Query CM Conditional Order History(USER_DATA)\n     * @param {QueryCmConditionalOrderHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryCmConditionalOrderHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-CM-Conditional-Order-History Binance API Documentation}\n     */\n    public async queryCmConditionalOrderHistory(\n        requestParameters: QueryCmConditionalOrderHistoryRequest\n    ): Promise<RestApiResponse<QueryCmConditionalOrderHistoryResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.queryCmConditionalOrderHistory(\n                requestParameters?.symbol,\n                requestParameters?.strategyId,\n                requestParameters?.newClientStrategyId,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<QueryCmConditionalOrderHistoryResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get order modification history\n     *\n     * Either `orderId` or `origClientOrderId` must be sent, and the `orderId` will prevail if both are sent.\n     *\n     * Weight: 1\n     *\n     * @summary Query CM Modify Order History(TRADE)\n     * @param {QueryCmModifyOrderHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryCmModifyOrderHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-CM-Modify-Order-History Binance API Documentation}\n     */\n    public async queryCmModifyOrderHistory(\n        requestParameters: QueryCmModifyOrderHistoryRequest\n    ): Promise<RestApiResponse<QueryCmModifyOrderHistoryResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryCmModifyOrderHistory(\n            requestParameters?.symbol,\n            requestParameters?.orderId,\n            requestParameters?.origClientOrderId,\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.limit,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryCmModifyOrderHistoryResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Check an CM order's status.\n     *\n     * Either `orderId` or `origClientOrderId` must be sent.\n     * These orders will not be found:\n     * order status is `CANCELED` or `EXPIRED`, **AND**\n     * order has NO filled trade, **AND**\n     * created time + 3 days < current time\n     *\n     * Weight: 1\n     *\n     * @summary Query CM Order(USER_DATA)\n     * @param {QueryCmOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryCmOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-CM-Order Binance API Documentation}\n     */\n    public async queryCmOrder(\n        requestParameters: QueryCmOrderRequest\n    ): Promise<RestApiResponse<QueryCmOrderResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryCmOrder(\n            requestParameters?.symbol,\n            requestParameters?.orderId,\n            requestParameters?.origClientOrderId,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryCmOrderResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query Current CM Open Conditional Order\n     *\n     * Either `strategyId` or `newClientStrategyId` must be sent.\n     * If the queried order has been triggered, cancelled or expired, the error message \"Order does not exist\" will be returned.\n     *\n     * Weight: 1\n     *\n     * @summary Query Current CM Open Conditional Order(USER_DATA)\n     * @param {QueryCurrentCmOpenConditionalOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryCurrentCmOpenConditionalOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-CM-Open-Conditional-Order Binance API Documentation}\n     */\n    public async queryCurrentCmOpenConditionalOrder(\n        requestParameters: QueryCurrentCmOpenConditionalOrderRequest\n    ): Promise<RestApiResponse<QueryCurrentCmOpenConditionalOrderResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.queryCurrentCmOpenConditionalOrder(\n                requestParameters?.symbol,\n                requestParameters?.strategyId,\n                requestParameters?.newClientStrategyId,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<QueryCurrentCmOpenConditionalOrderResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query current CM open order\n     *\n     * Either `orderId` or `origClientOrderId` must be sent.\n     * If the queried order has been filled or cancelled, the error message \"Order does not exist\" will be returned.\n     *\n     * Weight: 1\n     *\n     * @summary Query Current CM Open Order (USER_DATA)\n     * @param {QueryCurrentCmOpenOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryCurrentCmOpenOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-CM-Open-Order Binance API Documentation}\n     */\n    public async queryCurrentCmOpenOrder(\n        requestParameters: QueryCurrentCmOpenOrderRequest\n    ): Promise<RestApiResponse<QueryCurrentCmOpenOrderResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryCurrentCmOpenOrder(\n            requestParameters?.symbol,\n            requestParameters?.orderId,\n            requestParameters?.origClientOrderId,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryCurrentCmOpenOrderResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query Current Margin Open Order\n     *\n     * Weight: 5\n     *\n     * @summary Query Current Margin Open Order (USER_DATA)\n     * @param {QueryCurrentMarginOpenOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryCurrentMarginOpenOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-Margin-Open-Order Binance API Documentation}\n     */\n    public async queryCurrentMarginOpenOrder(\n        requestParameters: QueryCurrentMarginOpenOrderRequest\n    ): Promise<RestApiResponse<QueryCurrentMarginOpenOrderResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryCurrentMarginOpenOrder(\n            requestParameters?.symbol,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryCurrentMarginOpenOrderResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Check an UM algo order's status.\n     *\n     * These orders will not be found:\n     * order status is `CANCELED` or `EXPIRED` **AND** order has NO filled trade **AND** created time + 3 days < current time\n     * order create time + 90 days < current time\n     *\n     * Either `algoId` or `clientAlgoId` must be sent.\n     * `algoId` is self-increment for each specific `symbol`\n     *\n     * Weight: 1\n     *\n     * @summary Query Current UM Open Algo Order (USER_DATA)\n     * @param {QueryCurrentUmOpenAlgoOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryCurrentUmOpenAlgoOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-UM-Open-Algo-Order Binance API Documentation}\n     */\n    public async queryCurrentUmOpenAlgoOrder(\n        requestParameters: QueryCurrentUmOpenAlgoOrderRequest = {}\n    ): Promise<RestApiResponse<QueryCurrentUmOpenAlgoOrderResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryCurrentUmOpenAlgoOrder(\n            requestParameters?.algoId,\n            requestParameters?.clientAlgoId,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryCurrentUmOpenAlgoOrderResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query Current UM Open Conditional Order\n     *\n     * Either `strategyId` or `newClientStrategyId` must be sent.\n     * If the queried order has been `CANCELED`, `TRIGGERED` or `EXPIRED`, the error message \"Order does not exist\" will be returned.\n     *\n     * Weight: 1\n     *\n     * @summary Query Current UM Open Conditional Order\n     * @param {QueryCurrentUmOpenConditionalOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryCurrentUmOpenConditionalOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-UM-Open-Conditional-Order Binance API Documentation}\n     */\n    public async queryCurrentUmOpenConditionalOrder(\n        requestParameters: QueryCurrentUmOpenConditionalOrderRequest\n    ): Promise<RestApiResponse<QueryCurrentUmOpenConditionalOrderResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.queryCurrentUmOpenConditionalOrder(\n                requestParameters?.symbol,\n                requestParameters?.strategyId,\n                requestParameters?.newClientStrategyId,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<QueryCurrentUmOpenConditionalOrderResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query current UM open order\n     *\n     *\n     * Either `orderId` or `origClientOrderId` must be sent.\n     * If the queried order has been filled or cancelled, the error message \"Order does not exist\" will be returned.\n     *\n     * Weight: 1\n     *\n     * @summary Query Current UM Open Order(USER_DATA)\n     * @param {QueryCurrentUmOpenOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryCurrentUmOpenOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-UM-Open-Order Binance API Documentation}\n     */\n    public async queryCurrentUmOpenOrder(\n        requestParameters: QueryCurrentUmOpenOrderRequest\n    ): Promise<RestApiResponse<QueryCurrentUmOpenOrderResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryCurrentUmOpenOrder(\n            requestParameters?.symbol,\n            requestParameters?.orderId,\n            requestParameters?.origClientOrderId,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryCurrentUmOpenOrderResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query Margin Account Order\n     *\n     * Weight: 10\n     *\n     * @summary Query Margin Account Order (USER_DATA)\n     * @param {QueryMarginAccountOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryMarginAccountOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Margin-Account-Order Binance API Documentation}\n     */\n    public async queryMarginAccountOrder(\n        requestParameters: QueryMarginAccountOrderRequest\n    ): Promise<RestApiResponse<QueryMarginAccountOrderResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryMarginAccountOrder(\n            requestParameters?.symbol,\n            requestParameters?.orderId,\n            requestParameters?.origClientOrderId,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryMarginAccountOrderResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query all OCO for a specific margin account based on provided optional parameters\n     *\n     * Weight: 100\n     *\n     * @summary Query Margin Account\\'s all OCO (USER_DATA)\n     * @param {QueryMarginAccountsAllOcoRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryMarginAccountsAllOcoResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Margin-Account-all-OCO Binance API Documentation}\n     */\n    public async queryMarginAccountsAllOco(\n        requestParameters: QueryMarginAccountsAllOcoRequest = {}\n    ): Promise<RestApiResponse<QueryMarginAccountsAllOcoResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryMarginAccountsAllOco(\n            requestParameters?.fromId,\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.limit,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryMarginAccountsAllOcoResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Retrieves a specific OCO based on provided optional parameters\n     *\n     * Weight: 5\n     *\n     * @summary Query Margin Account\\'s OCO (USER_DATA)\n     * @param {QueryMarginAccountsOcoRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryMarginAccountsOcoResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Margin-Account-OCO Binance API Documentation}\n     */\n    public async queryMarginAccountsOco(\n        requestParameters: QueryMarginAccountsOcoRequest = {}\n    ): Promise<RestApiResponse<QueryMarginAccountsOcoResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryMarginAccountsOco(\n            requestParameters?.orderListId,\n            requestParameters?.origClientOrderId,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryMarginAccountsOcoResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query Margin Account's Open OCO\n     *\n     * Weight: 5\n     *\n     * @summary Query Margin Account\\'s Open OCO (USER_DATA)\n     * @param {QueryMarginAccountsOpenOcoRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryMarginAccountsOpenOcoResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Margin-Account-Open-OCO Binance API Documentation}\n     */\n    public async queryMarginAccountsOpenOco(\n        requestParameters: QueryMarginAccountsOpenOcoRequest = {}\n    ): Promise<RestApiResponse<QueryMarginAccountsOpenOcoResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryMarginAccountsOpenOco(\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryMarginAccountsOpenOcoResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get all algo orders; ACTIVE, CANCELED, TRIGGERED or FINISHED .\n     *\n     * If `algoId` is set, it will get orders >= that `algoId`. Otherwise most recent orders are returned.\n     * The query time period must be less then 7 days( default as the recent 7 days).\n     *\n     * Weight: 5\n     *\n     * @summary Query UM Algo Order History (USER_DATA)\n     * @param {QueryUmAlgoOrderHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryUmAlgoOrderHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-UM-Algo-Order-History Binance API Documentation}\n     */\n    public async queryUmAlgoOrderHistory(\n        requestParameters: QueryUmAlgoOrderHistoryRequest\n    ): Promise<RestApiResponse<QueryUmAlgoOrderHistoryResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryUmAlgoOrderHistory(\n            requestParameters?.symbol,\n            requestParameters?.algoId,\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.limit,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryUmAlgoOrderHistoryResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query UM Conditional Order History\n     *\n     * Either `strategyId` or `newClientStrategyId` must be sent.\n     * `NEW` orders will not be found.\n     * These orders will not be found:\n     * order status is `CANCELED` or `EXPIRED`, **AND**\n     * order has NO filled trade, **AND**\n     * created time + 7 days < current time\n     *\n     * Weight: 1\n     *\n     * @summary Query UM Conditional Order History\n     * @param {QueryUmConditionalOrderHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryUmConditionalOrderHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-UM-Conditional-Order-History Binance API Documentation}\n     */\n    public async queryUmConditionalOrderHistory(\n        requestParameters: QueryUmConditionalOrderHistoryRequest\n    ): Promise<RestApiResponse<QueryUmConditionalOrderHistoryResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.queryUmConditionalOrderHistory(\n                requestParameters?.symbol,\n                requestParameters?.strategyId,\n                requestParameters?.newClientStrategyId,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<QueryUmConditionalOrderHistoryResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get order modification history\n     *\n     * Either `orderId` or `origClientOrderId` must be sent, and the `orderId` will prevail if both are sent.\n     *\n     * Weight: 1\n     *\n     * @summary Query UM Modify Order History(TRADE)\n     * @param {QueryUmModifyOrderHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryUmModifyOrderHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-UM-Modify-Order-History Binance API Documentation}\n     */\n    public async queryUmModifyOrderHistory(\n        requestParameters: QueryUmModifyOrderHistoryRequest\n    ): Promise<RestApiResponse<QueryUmModifyOrderHistoryResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryUmModifyOrderHistory(\n            requestParameters?.symbol,\n            requestParameters?.orderId,\n            requestParameters?.origClientOrderId,\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.limit,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryUmModifyOrderHistoryResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Check an UM order's status.\n     *\n     * These orders will not be found:\n     * Either `orderId` or `origClientOrderId` must be sent.\n     * order status is `CANCELED` or `EXPIRED`, **AND**\n     * order has NO filled trade, **AND**\n     * created time + 3 days < current time\n     *\n     * Weight: 1\n     *\n     * @summary Query UM Order (USER_DATA)\n     * @param {QueryUmOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryUmOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-UM-Order Binance API Documentation}\n     */\n    public async queryUmOrder(\n        requestParameters: QueryUmOrderRequest\n    ): Promise<RestApiResponse<QueryUmOrderResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryUmOrder(\n            requestParameters?.symbol,\n            requestParameters?.orderId,\n            requestParameters?.origClientOrderId,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryUmOrderResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query User's CM Force Orders\n     *\n     * If \"autoCloseType\" is not sent, orders with both of the types will be returned\n     * If \"startTime\" is not sent, data within 7 days before \"endTime\" can be queried\n     * Only support querying data in the past 90 days\n     *\n     * Weight: 20 with symbol, 50 without symbol\n     *\n     * @summary Query User\\'s CM Force Orders(USER_DATA)\n     * @param {QueryUsersCmForceOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryUsersCmForceOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Users-CM-Force-Orders Binance API Documentation}\n     */\n    public async queryUsersCmForceOrders(\n        requestParameters: QueryUsersCmForceOrdersRequest = {}\n    ): Promise<RestApiResponse<QueryUsersCmForceOrdersResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryUsersCmForceOrders(\n            requestParameters?.symbol,\n            requestParameters?.autoCloseType,\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.limit,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryUsersCmForceOrdersResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query user's margin force orders\n     *\n     * Weight: 1\n     *\n     * @summary Query User\\'s Margin Force Orders(USER_DATA)\n     * @param {QueryUsersMarginForceOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryUsersMarginForceOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Users-Margin-Force-Orders Binance API Documentation}\n     */\n    public async queryUsersMarginForceOrders(\n        requestParameters: QueryUsersMarginForceOrdersRequest = {}\n    ): Promise<RestApiResponse<QueryUsersMarginForceOrdersResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryUsersMarginForceOrders(\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.current,\n            requestParameters?.size,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryUsersMarginForceOrdersResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query User's UM Force Orders\n     *\n     * If `autoCloseType` is not sent, orders with both of the types will be returned\n     * If `startTime` is not sent, data within 7 days before `endTime` can be queried\n     * Only support querying data in the past 90 days\n     *\n     * Weight: 20 with symbol, 50 without symbol\n     *\n     * @summary Query User\\'s UM Force Orders (USER_DATA)\n     * @param {QueryUsersUmForceOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryUsersUmForceOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Users-UM-Force-Orders Binance API Documentation}\n     */\n    public async queryUsersUmForceOrders(\n        requestParameters: QueryUsersUmForceOrdersRequest = {}\n    ): Promise<RestApiResponse<QueryUsersUmForceOrdersResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryUsersUmForceOrders(\n            requestParameters?.symbol,\n            requestParameters?.autoCloseType,\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.limit,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryUsersUmForceOrdersResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Change user's BNB Fee Discount for UM Futures (Fee Discount On or Fee Discount Off ) on ***EVERY symbol***\n     *\n     *\n     * The BNB would not be collected from UM-PM account to the Portfolio Margin account.\n     *\n     * Weight: 1\n     *\n     * @summary Toggle BNB Burn On UM Futures Trade (TRADE)\n     * @param {ToggleBnbBurnOnUmFuturesTradeRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<ToggleBnbBurnOnUmFuturesTradeResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Toggle-BNB-Burn-On-UM-Futures-Trade Binance API Documentation}\n     */\n    public async toggleBnbBurnOnUmFuturesTrade(\n        requestParameters: ToggleBnbBurnOnUmFuturesTradeRequest\n    ): Promise<RestApiResponse<ToggleBnbBurnOnUmFuturesTradeResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.toggleBnbBurnOnUmFuturesTrade(\n                requestParameters?.feeBurn,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<ToggleBnbBurnOnUmFuturesTradeResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get trades for a specific account and UM symbol.\n     *\n     *\n     * If `startTime` and `endTime` are both not sent, then the last '7 days' data will be returned.\n     * The time between `startTime` and `endTime` cannot be longer than 7 days.\n     * The parameter `fromId` cannot be sent with `startTime` or `endTime`.\n     *\n     * Weight: 5\n     *\n     * @summary UM Account Trade List(USER_DATA)\n     * @param {UmAccountTradeListRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<UmAccountTradeListResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/UM-Account-Trade-List Binance API Documentation}\n     */\n    public async umAccountTradeList(\n        requestParameters: UmAccountTradeListRequest\n    ): Promise<RestApiResponse<UmAccountTradeListResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.umAccountTradeList(\n            requestParameters?.symbol,\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.fromId,\n            requestParameters?.limit,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<UmAccountTradeListResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query UM Position ADL Quantile Estimation\n     *\n     * Values update every 30s.\n     * Values 0, 1, 2, 3, 4 shows the queue position and possibility of ADL from low to high.\n     * For positions of the symbol are in One-way Mode or isolated margined in Hedge Mode, \"LONG\", \"SHORT\", and \"BOTH\" will be returned to show the positions' adl quantiles of different position sides.\n     * If the positions of the symbol are crossed margined in Hedge Mode:\n     * \"HEDGE\" as a sign will be returned instead of \"BOTH\";\n     * A same value caculated on unrealized pnls on long and short sides' positions will be shown for \"LONG\" and \"SHORT\" when there are positions in both of long and short sides.\n     *\n     * Weight: 5\n     *\n     * @summary UM Position ADL Quantile Estimation(USER_DATA)\n     * @param {UmPositionAdlQuantileEstimationRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<UmPositionAdlQuantileEstimationResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/UM-Position-ADL-Quantile-Estimation Binance API Documentation}\n     */\n    public async umPositionAdlQuantileEstimation(\n        requestParameters: UmPositionAdlQuantileEstimationRequest = {}\n    ): Promise<RestApiResponse<UmPositionAdlQuantileEstimationResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.umPositionAdlQuantileEstimation(\n                requestParameters?.symbol,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<UmPositionAdlQuantileEstimationResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n}\n\nexport enum MarginAccountNewOcoSideEnum {\n    BUY = 'BUY',\n    SELL = 'SELL',\n}\n\nexport enum MarginAccountNewOcoStopLimitTimeInForceEnum {\n    GTC = 'GTC',\n    IOC = 'IOC',\n    FOK = 'FOK',\n}\n\nexport enum MarginAccountNewOcoNewOrderRespTypeEnum {\n    ACK = 'ACK',\n    RESULT = 'RESULT',\n}\n\nexport enum MarginAccountNewOcoSideEffectTypeEnum {\n    NO_SIDE_EFFECT = 'NO_SIDE_EFFECT',\n    MARGIN_BUY = 'MARGIN_BUY',\n    AUTO_REPAY = 'AUTO_REPAY',\n}\n\nexport enum ModifyCmOrderSideEnum {\n    BUY = 'BUY',\n    SELL = 'SELL',\n}\n\nexport enum ModifyCmOrderPriceMatchEnum {\n    NONE = 'NONE',\n    OPPONENT = 'OPPONENT',\n    OPPONENT_5 = 'OPPONENT_5',\n    OPPONENT_10 = 'OPPONENT_10',\n    OPPONENT_20 = 'OPPONENT_20',\n    QUEUE = 'QUEUE',\n    QUEUE_5 = 'QUEUE_5',\n    QUEUE_10 = 'QUEUE_10',\n    QUEUE_20 = 'QUEUE_20',\n}\n\nexport enum ModifyUmOrderSideEnum {\n    BUY = 'BUY',\n    SELL = 'SELL',\n}\n\nexport enum ModifyUmOrderPriceMatchEnum {\n    NONE = 'NONE',\n    OPPONENT = 'OPPONENT',\n    OPPONENT_5 = 'OPPONENT_5',\n    OPPONENT_10 = 'OPPONENT_10',\n    OPPONENT_20 = 'OPPONENT_20',\n    QUEUE = 'QUEUE',\n    QUEUE_5 = 'QUEUE_5',\n    QUEUE_10 = 'QUEUE_10',\n    QUEUE_20 = 'QUEUE_20',\n}\n\nexport enum NewCmConditionalOrderSideEnum {\n    BUY = 'BUY',\n    SELL = 'SELL',\n}\n\nexport enum NewCmConditionalOrderStrategyTypeEnum {\n    STOP = 'STOP',\n    STOP_MARKET = 'STOP_MARKET',\n    LIMIT_MAKER = 'LIMIT_MAKER',\n    TAKE_PROFIT = 'TAKE_PROFIT',\n    TAKE_PROFIT_MARKET = 'TAKE_PROFIT_MARKET',\n    TRAILING_STOP_MARKET = 'TRAILING_STOP_MARKET',\n}\n\nexport enum NewCmConditionalOrderPositionSideEnum {\n    BOTH = 'BOTH',\n    LONG = 'LONG',\n    SHORT = 'SHORT',\n}\n\nexport enum NewCmConditionalOrderTimeInForceEnum {\n    GTC = 'GTC',\n    IOC = 'IOC',\n    FOK = 'FOK',\n    GTX = 'GTX',\n}\n\nexport enum NewCmConditionalOrderWorkingTypeEnum {\n    MARK_PRICE = 'MARK_PRICE',\n}\n\nexport enum NewCmOrderSideEnum {\n    BUY = 'BUY',\n    SELL = 'SELL',\n}\n\nexport enum NewCmOrderTypeEnum {\n    LIMIT = 'LIMIT',\n    MARKET = 'MARKET',\n}\n\nexport enum NewCmOrderPositionSideEnum {\n    BOTH = 'BOTH',\n    LONG = 'LONG',\n    SHORT = 'SHORT',\n}\n\nexport enum NewCmOrderTimeInForceEnum {\n    GTC = 'GTC',\n    IOC = 'IOC',\n    FOK = 'FOK',\n    GTX = 'GTX',\n}\n\nexport enum NewCmOrderPriceMatchEnum {\n    NONE = 'NONE',\n    OPPONENT = 'OPPONENT',\n    OPPONENT_5 = 'OPPONENT_5',\n    OPPONENT_10 = 'OPPONENT_10',\n    OPPONENT_20 = 'OPPONENT_20',\n    QUEUE = 'QUEUE',\n    QUEUE_5 = 'QUEUE_5',\n    QUEUE_10 = 'QUEUE_10',\n    QUEUE_20 = 'QUEUE_20',\n}\n\nexport enum NewCmOrderNewOrderRespTypeEnum {\n    ACK = 'ACK',\n    RESULT = 'RESULT',\n}\n\nexport enum NewMarginOrderSideEnum {\n    BUY = 'BUY',\n    SELL = 'SELL',\n}\n\nexport enum NewMarginOrderTypeEnum {\n    LIMIT = 'LIMIT',\n    MARKET = 'MARKET',\n}\n\nexport enum NewMarginOrderNewOrderRespTypeEnum {\n    ACK = 'ACK',\n    RESULT = 'RESULT',\n}\n\nexport enum NewMarginOrderSideEffectTypeEnum {\n    NO_SIDE_EFFECT = 'NO_SIDE_EFFECT',\n    MARGIN_BUY = 'MARGIN_BUY',\n    AUTO_REPAY = 'AUTO_REPAY',\n}\n\nexport enum NewMarginOrderTimeInForceEnum {\n    GTC = 'GTC',\n    IOC = 'IOC',\n    FOK = 'FOK',\n    GTX = 'GTX',\n}\n\nexport enum NewMarginOrderSelfTradePreventionModeEnum {\n    NONE = 'NONE',\n    EXPIRE_TAKER = 'EXPIRE_TAKER',\n    EXPIRE_BOTH = 'EXPIRE_BOTH',\n    EXPIRE_MAKER = 'EXPIRE_MAKER',\n}\n\nexport enum NewUmAlgoOrderSideEnum {\n    BUY = 'BUY',\n    SELL = 'SELL',\n}\n\nexport enum NewUmAlgoOrderTypeEnum {\n    LIMIT = 'LIMIT',\n    MARKET = 'MARKET',\n}\n\nexport enum NewUmAlgoOrderPositionSideEnum {\n    BOTH = 'BOTH',\n    LONG = 'LONG',\n    SHORT = 'SHORT',\n}\n\nexport enum NewUmAlgoOrderTimeInForceEnum {\n    GTC = 'GTC',\n    IOC = 'IOC',\n    FOK = 'FOK',\n    GTX = 'GTX',\n}\n\nexport enum NewUmAlgoOrderWorkingTypeEnum {\n    MARK_PRICE = 'MARK_PRICE',\n}\n\nexport enum NewUmAlgoOrderPriceMatchEnum {\n    NONE = 'NONE',\n    OPPONENT = 'OPPONENT',\n    OPPONENT_5 = 'OPPONENT_5',\n    OPPONENT_10 = 'OPPONENT_10',\n    OPPONENT_20 = 'OPPONENT_20',\n    QUEUE = 'QUEUE',\n    QUEUE_5 = 'QUEUE_5',\n    QUEUE_10 = 'QUEUE_10',\n    QUEUE_20 = 'QUEUE_20',\n}\n\nexport enum NewUmAlgoOrderNewOrderRespTypeEnum {\n    ACK = 'ACK',\n    RESULT = 'RESULT',\n}\n\nexport enum NewUmAlgoOrderSelfTradePreventionModeEnum {\n    NONE = 'NONE',\n    EXPIRE_TAKER = 'EXPIRE_TAKER',\n    EXPIRE_BOTH = 'EXPIRE_BOTH',\n    EXPIRE_MAKER = 'EXPIRE_MAKER',\n}\n\nexport enum NewUmConditionalOrderSideEnum {\n    BUY = 'BUY',\n    SELL = 'SELL',\n}\n\nexport enum NewUmConditionalOrderStrategyTypeEnum {\n    STOP = 'STOP',\n    STOP_MARKET = 'STOP_MARKET',\n    LIMIT_MAKER = 'LIMIT_MAKER',\n    TAKE_PROFIT = 'TAKE_PROFIT',\n    TAKE_PROFIT_MARKET = 'TAKE_PROFIT_MARKET',\n    TRAILING_STOP_MARKET = 'TRAILING_STOP_MARKET',\n}\n\nexport enum NewUmConditionalOrderPositionSideEnum {\n    BOTH = 'BOTH',\n    LONG = 'LONG',\n    SHORT = 'SHORT',\n}\n\nexport enum NewUmConditionalOrderTimeInForceEnum {\n    GTC = 'GTC',\n    IOC = 'IOC',\n    FOK = 'FOK',\n    GTX = 'GTX',\n}\n\nexport enum NewUmConditionalOrderWorkingTypeEnum {\n    MARK_PRICE = 'MARK_PRICE',\n}\n\nexport enum NewUmConditionalOrderPriceMatchEnum {\n    NONE = 'NONE',\n    OPPONENT = 'OPPONENT',\n    OPPONENT_5 = 'OPPONENT_5',\n    OPPONENT_10 = 'OPPONENT_10',\n    OPPONENT_20 = 'OPPONENT_20',\n    QUEUE = 'QUEUE',\n    QUEUE_5 = 'QUEUE_5',\n    QUEUE_10 = 'QUEUE_10',\n    QUEUE_20 = 'QUEUE_20',\n}\n\nexport enum NewUmConditionalOrderSelfTradePreventionModeEnum {\n    NONE = 'NONE',\n    EXPIRE_TAKER = 'EXPIRE_TAKER',\n    EXPIRE_BOTH = 'EXPIRE_BOTH',\n    EXPIRE_MAKER = 'EXPIRE_MAKER',\n}\n\nexport enum NewUmOrderSideEnum {\n    BUY = 'BUY',\n    SELL = 'SELL',\n}\n\nexport enum NewUmOrderTypeEnum {\n    LIMIT = 'LIMIT',\n    MARKET = 'MARKET',\n}\n\nexport enum NewUmOrderPositionSideEnum {\n    BOTH = 'BOTH',\n    LONG = 'LONG',\n    SHORT = 'SHORT',\n}\n\nexport enum NewUmOrderTimeInForceEnum {\n    GTC = 'GTC',\n    IOC = 'IOC',\n    FOK = 'FOK',\n    GTX = 'GTX',\n}\n\nexport enum NewUmOrderNewOrderRespTypeEnum {\n    ACK = 'ACK',\n    RESULT = 'RESULT',\n}\n\nexport enum NewUmOrderPriceMatchEnum {\n    NONE = 'NONE',\n    OPPONENT = 'OPPONENT',\n    OPPONENT_5 = 'OPPONENT_5',\n    OPPONENT_10 = 'OPPONENT_10',\n    OPPONENT_20 = 'OPPONENT_20',\n    QUEUE = 'QUEUE',\n    QUEUE_5 = 'QUEUE_5',\n    QUEUE_10 = 'QUEUE_10',\n    QUEUE_20 = 'QUEUE_20',\n}\n\nexport enum NewUmOrderSelfTradePreventionModeEnum {\n    NONE = 'NONE',\n    EXPIRE_TAKER = 'EXPIRE_TAKER',\n    EXPIRE_BOTH = 'EXPIRE_BOTH',\n    EXPIRE_MAKER = 'EXPIRE_MAKER',\n}\n\nexport enum QueryUsersCmForceOrdersAutoCloseTypeEnum {\n    LIQUIDATION = 'LIQUIDATION',\n    ADL = 'ADL',\n}\n\nexport enum QueryUsersUmForceOrdersAutoCloseTypeEnum {\n    LIQUIDATION = 'LIQUIDATION',\n    ADL = 'ADL',\n}\n","/**\n * Binance Derivatives Trading Portfolio Margin REST API\n *\n * OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin REST API\n *\n * The version of the OpenAPI document: 1.0.0\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport {\n    ConfigurationRestAPI,\n    TimeUnit,\n    RestApiResponse,\n    sendRequest,\n    type RequestArgs,\n} from '@binance/common';\nimport type { StartUserDataStreamResponse } from '../types';\n\n/**\n * UserDataStreamsApi - axios parameter creator\n */\nconst UserDataStreamsApiAxiosParamCreator = function (configuration: ConfigurationRestAPI) {\n    return {\n        /**\n         * Close out a user data stream.\n         *\n         * Weight: 1\n         *\n         * @summary Close User Data Stream(USER_STREAM)\n         *\n         * @throws {RequiredError}\n         */\n        closeUserDataStream: async (): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/listenKey',\n                method: 'DELETE',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Keepalive a user data stream to prevent a time out. User data streams will close after 60 minutes. It's recommended to send a ping about every 60 minutes.\n         *\n         * Weight: 1\n         *\n         * @summary Keepalive User Data Stream (USER_STREAM)\n         *\n         * @throws {RequiredError}\n         */\n        keepaliveUserDataStream: async (): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/listenKey',\n                method: 'PUT',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Start a new user data stream. The stream will close after 60 minutes unless a keepalive is sent. If the account has an active `listenKey`, that `listenKey` will be returned and its validity will be extended for 60 minutes.\n         *\n         * Weight: 1\n         *\n         * @summary Start User Data Stream(USER_STREAM)\n         *\n         * @throws {RequiredError}\n         */\n        startUserDataStream: async (): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/listenKey',\n                method: 'POST',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n    };\n};\n\n/**\n * UserDataStreamsApi - interface\n * @interface UserDataStreamsApi\n */\nexport interface UserDataStreamsApiInterface {\n    /**\n     * Close out a user data stream.\n     *\n     * Weight: 1\n     *\n     * @summary Close User Data Stream(USER_STREAM)\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof UserDataStreamsApiInterface\n     */\n    closeUserDataStream(): Promise<RestApiResponse<void>>;\n    /**\n     * Keepalive a user data stream to prevent a time out. User data streams will close after 60 minutes. It's recommended to send a ping about every 60 minutes.\n     *\n     * Weight: 1\n     *\n     * @summary Keepalive User Data Stream (USER_STREAM)\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof UserDataStreamsApiInterface\n     */\n    keepaliveUserDataStream(): Promise<RestApiResponse<void>>;\n    /**\n     * Start a new user data stream. The stream will close after 60 minutes unless a keepalive is sent. If the account has an active `listenKey`, that `listenKey` will be returned and its validity will be extended for 60 minutes.\n     *\n     * Weight: 1\n     *\n     * @summary Start User Data Stream(USER_STREAM)\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof UserDataStreamsApiInterface\n     */\n    startUserDataStream(): Promise<RestApiResponse<StartUserDataStreamResponse>>;\n}\n\n/**\n * UserDataStreamsApi - object-oriented interface\n * @class UserDataStreamsApi\n */\nexport class UserDataStreamsApi implements UserDataStreamsApiInterface {\n    private readonly configuration: ConfigurationRestAPI;\n    private localVarAxiosParamCreator;\n\n    constructor(configuration: ConfigurationRestAPI) {\n        this.configuration = configuration;\n        this.localVarAxiosParamCreator = UserDataStreamsApiAxiosParamCreator(configuration);\n    }\n\n    /**\n     * Close out a user data stream.\n     *\n     * Weight: 1\n     *\n     * @summary Close User Data Stream(USER_STREAM)\n     * @returns {Promise<RestApiResponse<void>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof UserDataStreamsApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/user-data-streams/Close-User-Data-Stream Binance API Documentation}\n     */\n    public async closeUserDataStream(): Promise<RestApiResponse<void>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.closeUserDataStream();\n        return sendRequest<void>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: false }\n        );\n    }\n\n    /**\n     * Keepalive a user data stream to prevent a time out. User data streams will close after 60 minutes. It's recommended to send a ping about every 60 minutes.\n     *\n     * Weight: 1\n     *\n     * @summary Keepalive User Data Stream (USER_STREAM)\n     * @returns {Promise<RestApiResponse<void>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof UserDataStreamsApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/user-data-streams/Keepalive-User-Data-Stream Binance API Documentation}\n     */\n    public async keepaliveUserDataStream(): Promise<RestApiResponse<void>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.keepaliveUserDataStream();\n        return sendRequest<void>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: false }\n        );\n    }\n\n    /**\n     * Start a new user data stream. The stream will close after 60 minutes unless a keepalive is sent. If the account has an active `listenKey`, that `listenKey` will be returned and its validity will be extended for 60 minutes.\n     *\n     * Weight: 1\n     *\n     * @summary Start User Data Stream(USER_STREAM)\n     * @returns {Promise<RestApiResponse<StartUserDataStreamResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof UserDataStreamsApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/user-data-streams/Start-User-Data-Stream Binance API Documentation}\n     */\n    public async startUserDataStream(): Promise<RestApiResponse<StartUserDataStreamResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.startUserDataStream();\n        return sendRequest<StartUserDataStreamResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: false }\n        );\n    }\n}\n","/**\n * Binance Derivatives Trading Portfolio Margin REST API\n *\n * OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin REST API\n *\n * The version of the OpenAPI document: 1.0.0\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { ConfigurationRestAPI, RestApiResponse, sendRequest } from '@binance/common';\nimport { AccountApi } from './modules/account-api';\nimport { MarketDataApi } from './modules/market-data-api';\nimport { TradeApi } from './modules/trade-api';\nimport { UserDataStreamsApi } from './modules/user-data-streams-api';\n\nimport type {\n    AccountBalanceRequest,\n    AccountInformationRequest,\n    BnbTransferRequest,\n    ChangeAutoRepayFuturesStatusRequest,\n    ChangeCmInitialLeverageRequest,\n    ChangeCmPositionModeRequest,\n    ChangeUmInitialLeverageRequest,\n    ChangeUmPositionModeRequest,\n    CmNotionalAndLeverageBracketsRequest,\n    FundAutoCollectionRequest,\n    FundCollectionByAssetRequest,\n    GetAutoRepayFuturesStatusRequest,\n    GetCmAccountDetailRequest,\n    GetCmCurrentPositionModeRequest,\n    GetCmIncomeHistoryRequest,\n    GetDownloadIdForUmFuturesOrderHistoryRequest,\n    GetDownloadIdForUmFuturesTradeHistoryRequest,\n    GetDownloadIdForUmFuturesTransactionHistoryRequest,\n    GetMarginBorrowLoanInterestHistoryRequest,\n    GetUmAccountDetailRequest,\n    GetUmAccountDetailV2Request,\n    GetUmCurrentPositionModeRequest,\n    GetUmFuturesOrderDownloadLinkByIdRequest,\n    GetUmFuturesTradeDownloadLinkByIdRequest,\n    GetUmFuturesTransactionDownloadLinkByIdRequest,\n    GetUmIncomeHistoryRequest,\n    GetUserCommissionRateForCmRequest,\n    GetUserCommissionRateForUmRequest,\n    MarginMaxBorrowRequest,\n    PortfolioMarginUmTradingQuantitativeRulesIndicatorsRequest,\n    QueryCmPositionInformationRequest,\n    QueryMarginLoanRecordRequest,\n    QueryMarginMaxWithdrawRequest,\n    QueryMarginRepayRecordRequest,\n    QueryPortfolioMarginNegativeBalanceInterestHistoryRequest,\n    QueryUmPositionInformationRequest,\n    QueryUserNegativeBalanceAutoExchangeRecordRequest,\n    QueryUserRateLimitRequest,\n    RepayFuturesNegativeBalanceRequest,\n    UmFuturesAccountConfigurationRequest,\n    UmFuturesSymbolConfigurationRequest,\n    UmNotionalAndLeverageBracketsRequest,\n} from './modules/account-api';\nimport type {} from './modules/market-data-api';\nimport type {\n    CancelAllCmOpenConditionalOrdersRequest,\n    CancelAllCmOpenOrdersRequest,\n    CancelAllUmAlgoOpenOrdersRequest,\n    CancelAllUmOpenConditionalOrdersRequest,\n    CancelAllUmOpenOrdersRequest,\n    CancelCmConditionalOrderRequest,\n    CancelCmOrderRequest,\n    CancelMarginAccountAllOpenOrdersOnASymbolRequest,\n    CancelMarginAccountOcoOrdersRequest,\n    CancelMarginAccountOrderRequest,\n    CancelUmAlgoOrderRequest,\n    CancelUmConditionalOrderRequest,\n    CancelUmOrderRequest,\n    CmAccountTradeListRequest,\n    CmPositionAdlQuantileEstimationRequest,\n    FuturesTradfiPerpsContractRequest,\n    GetUmFuturesBnbBurnStatusRequest,\n    MarginAccountBorrowRequest,\n    MarginAccountNewOcoRequest,\n    MarginAccountRepayRequest,\n    MarginAccountRepayDebtRequest,\n    MarginAccountTradeListRequest,\n    ModifyCmOrderRequest,\n    ModifyUmOrderRequest,\n    NewCmConditionalOrderRequest,\n    NewCmOrderRequest,\n    NewMarginOrderRequest,\n    NewUmAlgoOrderRequest,\n    NewUmConditionalOrderRequest,\n    NewUmOrderRequest,\n    QueryAllCmConditionalOrdersRequest,\n    QueryAllCmOrdersRequest,\n    QueryAllCurrentCmOpenConditionalOrdersRequest,\n    QueryAllCurrentCmOpenOrdersRequest,\n    QueryAllCurrentUmOpenAlgoOrdersRequest,\n    QueryAllCurrentUmOpenConditionalOrdersRequest,\n    QueryAllCurrentUmOpenOrdersRequest,\n    QueryAllMarginAccountOrdersRequest,\n    QueryAllUmConditionalOrdersRequest,\n    QueryAllUmOrdersRequest,\n    QueryCmConditionalOrderHistoryRequest,\n    QueryCmModifyOrderHistoryRequest,\n    QueryCmOrderRequest,\n    QueryCurrentCmOpenConditionalOrderRequest,\n    QueryCurrentCmOpenOrderRequest,\n    QueryCurrentMarginOpenOrderRequest,\n    QueryCurrentUmOpenAlgoOrderRequest,\n    QueryCurrentUmOpenConditionalOrderRequest,\n    QueryCurrentUmOpenOrderRequest,\n    QueryMarginAccountOrderRequest,\n    QueryMarginAccountsAllOcoRequest,\n    QueryMarginAccountsOcoRequest,\n    QueryMarginAccountsOpenOcoRequest,\n    QueryUmAlgoOrderHistoryRequest,\n    QueryUmConditionalOrderHistoryRequest,\n    QueryUmModifyOrderHistoryRequest,\n    QueryUmOrderRequest,\n    QueryUsersCmForceOrdersRequest,\n    QueryUsersMarginForceOrdersRequest,\n    QueryUsersUmForceOrdersRequest,\n    ToggleBnbBurnOnUmFuturesTradeRequest,\n    UmAccountTradeListRequest,\n    UmPositionAdlQuantileEstimationRequest,\n} from './modules/trade-api';\nimport type {} from './modules/user-data-streams-api';\n\nimport type {\n    AccountBalanceResponse,\n    AccountInformationResponse,\n    BnbTransferResponse,\n    ChangeAutoRepayFuturesStatusResponse,\n    ChangeCmInitialLeverageResponse,\n    ChangeCmPositionModeResponse,\n    ChangeUmInitialLeverageResponse,\n    ChangeUmPositionModeResponse,\n    CmNotionalAndLeverageBracketsResponse,\n    FundAutoCollectionResponse,\n    FundCollectionByAssetResponse,\n    GetAutoRepayFuturesStatusResponse,\n    GetCmAccountDetailResponse,\n    GetCmCurrentPositionModeResponse,\n    GetCmIncomeHistoryResponse,\n    GetDownloadIdForUmFuturesOrderHistoryResponse,\n    GetDownloadIdForUmFuturesTradeHistoryResponse,\n    GetDownloadIdForUmFuturesTransactionHistoryResponse,\n    GetMarginBorrowLoanInterestHistoryResponse,\n    GetUmAccountDetailResponse,\n    GetUmAccountDetailV2Response,\n    GetUmCurrentPositionModeResponse,\n    GetUmFuturesOrderDownloadLinkByIdResponse,\n    GetUmFuturesTradeDownloadLinkByIdResponse,\n    GetUmFuturesTransactionDownloadLinkByIdResponse,\n    GetUmIncomeHistoryResponse,\n    GetUserCommissionRateForCmResponse,\n    GetUserCommissionRateForUmResponse,\n    MarginMaxBorrowResponse,\n    PortfolioMarginUmTradingQuantitativeRulesIndicatorsResponse,\n    QueryCmPositionInformationResponse,\n    QueryMarginLoanRecordResponse,\n    QueryMarginMaxWithdrawResponse,\n    QueryMarginRepayRecordResponse,\n    QueryPortfolioMarginNegativeBalanceInterestHistoryResponse,\n    QueryUmPositionInformationResponse,\n    QueryUserNegativeBalanceAutoExchangeRecordResponse,\n    QueryUserRateLimitResponse,\n    RepayFuturesNegativeBalanceResponse,\n    UmFuturesAccountConfigurationResponse,\n    UmFuturesSymbolConfigurationResponse,\n    UmNotionalAndLeverageBracketsResponse,\n} from './types';\nimport type {} from './types';\nimport type {\n    CancelAllCmOpenConditionalOrdersResponse,\n    CancelAllCmOpenOrdersResponse,\n    CancelAllUmAlgoOpenOrdersResponse,\n    CancelAllUmOpenConditionalOrdersResponse,\n    CancelAllUmOpenOrdersResponse,\n    CancelCmConditionalOrderResponse,\n    CancelCmOrderResponse,\n    CancelMarginAccountAllOpenOrdersOnASymbolResponse,\n    CancelMarginAccountOcoOrdersResponse,\n    CancelMarginAccountOrderResponse,\n    CancelUmAlgoOrderResponse,\n    CancelUmConditionalOrderResponse,\n    CancelUmOrderResponse,\n    CmAccountTradeListResponse,\n    CmPositionAdlQuantileEstimationResponse,\n    FuturesTradfiPerpsContractResponse,\n    GetUmFuturesBnbBurnStatusResponse,\n    MarginAccountBorrowResponse,\n    MarginAccountNewOcoResponse,\n    MarginAccountRepayResponse,\n    MarginAccountRepayDebtResponse,\n    MarginAccountTradeListResponse,\n    ModifyCmOrderResponse,\n    ModifyUmOrderResponse,\n    NewCmConditionalOrderResponse,\n    NewCmOrderResponse,\n    NewMarginOrderResponse,\n    NewUmAlgoOrderResponse,\n    NewUmConditionalOrderResponse,\n    NewUmOrderResponse,\n    QueryAllCmConditionalOrdersResponse,\n    QueryAllCmOrdersResponse,\n    QueryAllCurrentCmOpenConditionalOrdersResponse,\n    QueryAllCurrentCmOpenOrdersResponse,\n    QueryAllCurrentUmOpenAlgoOrdersResponse,\n    QueryAllCurrentUmOpenConditionalOrdersResponse,\n    QueryAllCurrentUmOpenOrdersResponse,\n    QueryAllMarginAccountOrdersResponse,\n    QueryAllUmConditionalOrdersResponse,\n    QueryAllUmOrdersResponse,\n    QueryCmConditionalOrderHistoryResponse,\n    QueryCmModifyOrderHistoryResponse,\n    QueryCmOrderResponse,\n    QueryCurrentCmOpenConditionalOrderResponse,\n    QueryCurrentCmOpenOrderResponse,\n    QueryCurrentMarginOpenOrderResponse,\n    QueryCurrentUmOpenAlgoOrderResponse,\n    QueryCurrentUmOpenConditionalOrderResponse,\n    QueryCurrentUmOpenOrderResponse,\n    QueryMarginAccountOrderResponse,\n    QueryMarginAccountsAllOcoResponse,\n    QueryMarginAccountsOcoResponse,\n    QueryMarginAccountsOpenOcoResponse,\n    QueryUmAlgoOrderHistoryResponse,\n    QueryUmConditionalOrderHistoryResponse,\n    QueryUmModifyOrderHistoryResponse,\n    QueryUmOrderResponse,\n    QueryUsersCmForceOrdersResponse,\n    QueryUsersMarginForceOrdersResponse,\n    QueryUsersUmForceOrdersResponse,\n    ToggleBnbBurnOnUmFuturesTradeResponse,\n    UmAccountTradeListResponse,\n    UmPositionAdlQuantileEstimationResponse,\n} from './types';\nimport type { StartUserDataStreamResponse } from './types';\n\nexport class RestAPI {\n    private configuration: ConfigurationRestAPI;\n    private accountApi: AccountApi;\n    private marketDataApi: MarketDataApi;\n    private tradeApi: TradeApi;\n    private userDataStreamsApi: UserDataStreamsApi;\n\n    constructor(configuration: ConfigurationRestAPI) {\n        this.configuration = configuration;\n        this.accountApi = new AccountApi(configuration);\n        this.marketDataApi = new MarketDataApi(configuration);\n        this.tradeApi = new TradeApi(configuration);\n        this.userDataStreamsApi = new UserDataStreamsApi(configuration);\n    }\n\n    /**\n     * Generic function to send a request.\n     * @param endpoint - The API endpoint to call.\n     * @param method - HTTP method to use (GET, POST, DELETE, etc.).\n     * @param queryParams - Query parameters for the request.\n     * @param bodyParams - Body parameters for the request.\n     *\n     * @returns A promise resolving to the response data object.\n     */\n    sendRequest<T>(\n        endpoint: string,\n        method: 'GET' | 'POST' | 'DELETE' | 'PUT' | 'PATCH',\n        queryParams: Record<string, unknown> = {},\n        bodyParams: Record<string, unknown> = {}\n    ): Promise<RestApiResponse<T>> {\n        return sendRequest<T>(\n            this.configuration,\n            endpoint,\n            method,\n            queryParams,\n            bodyParams,\n            undefined\n        );\n    }\n\n    /**\n     * Generic function to send a signed request.\n     * @param endpoint - The API endpoint to call.\n     * @param method - HTTP method to use (GET, POST, DELETE, etc.).\n     * @param queryParams - Query parameters for the request.\n     * @param bodyParams - Body parameters for the request.\n     *\n     * @returns A promise resolving to the response data object.\n     */\n    sendSignedRequest<T>(\n        endpoint: string,\n        method: 'GET' | 'POST' | 'DELETE' | 'PUT' | 'PATCH',\n        queryParams: Record<string, unknown> = {},\n        bodyParams: Record<string, unknown> = {}\n    ): Promise<RestApiResponse<T>> {\n        return sendRequest<T>(\n            this.configuration,\n            endpoint,\n            method,\n            queryParams,\n            bodyParams,\n            undefined,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query account balance\n     *\n     * Weight: 20\n     *\n     * @summary Account Balance(USER_DATA)\n     * @param {AccountBalanceRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<AccountBalanceResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Account-Balance Binance API Documentation}\n     */\n    accountBalance(\n        requestParameters: AccountBalanceRequest = {}\n    ): Promise<RestApiResponse<AccountBalanceResponse>> {\n        return this.accountApi.accountBalance(requestParameters);\n    }\n\n    /**\n     * Query account information\n     *\n     * Weight: 20\n     *\n     * @summary Account Information(USER_DATA)\n     * @param {AccountInformationRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<AccountInformationResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Account-Information Binance API Documentation}\n     */\n    accountInformation(\n        requestParameters: AccountInformationRequest = {}\n    ): Promise<RestApiResponse<AccountInformationResponse>> {\n        return this.accountApi.accountInformation(requestParameters);\n    }\n\n    /**\n     * Transfer BNB in and out of UM\n     *\n     * The endpoint can only be called 10 times per 10 minutes in a rolling manner\n     *\n     * Weight: 750\n     *\n     * @summary BNB transfer (TRADE)\n     * @param {BnbTransferRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<BnbTransferResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/BNB-transfer Binance API Documentation}\n     */\n    bnbTransfer(\n        requestParameters: BnbTransferRequest\n    ): Promise<RestApiResponse<BnbTransferResponse>> {\n        return this.accountApi.bnbTransfer(requestParameters);\n    }\n\n    /**\n     * Change Auto-repay-futures Status\n     *\n     * Weight: 750\n     *\n     * @summary Change Auto-repay-futures Status(TRADE)\n     * @param {ChangeAutoRepayFuturesStatusRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<ChangeAutoRepayFuturesStatusResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Change-Auto-repay-futures-Status Binance API Documentation}\n     */\n    changeAutoRepayFuturesStatus(\n        requestParameters: ChangeAutoRepayFuturesStatusRequest\n    ): Promise<RestApiResponse<ChangeAutoRepayFuturesStatusResponse>> {\n        return this.accountApi.changeAutoRepayFuturesStatus(requestParameters);\n    }\n\n    /**\n     * Change user's initial leverage of specific symbol in CM.\n     *\n     * Weight: 1\n     *\n     * @summary Change CM Initial Leverage (TRADE)\n     * @param {ChangeCmInitialLeverageRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<ChangeCmInitialLeverageResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Change-CM-Initial-Leverage Binance API Documentation}\n     */\n    changeCmInitialLeverage(\n        requestParameters: ChangeCmInitialLeverageRequest\n    ): Promise<RestApiResponse<ChangeCmInitialLeverageResponse>> {\n        return this.accountApi.changeCmInitialLeverage(requestParameters);\n    }\n\n    /**\n     * Change user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol in CM\n     *\n     * Weight: 1\n     *\n     * @summary Change CM Position Mode(TRADE)\n     * @param {ChangeCmPositionModeRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<ChangeCmPositionModeResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Change-CM-Position-Mode Binance API Documentation}\n     */\n    changeCmPositionMode(\n        requestParameters: ChangeCmPositionModeRequest\n    ): Promise<RestApiResponse<ChangeCmPositionModeResponse>> {\n        return this.accountApi.changeCmPositionMode(requestParameters);\n    }\n\n    /**\n     * Change user's initial leverage of specific symbol in UM.\n     *\n     * Weight: 1\n     *\n     * @summary Change UM Initial Leverage(TRADE)\n     * @param {ChangeUmInitialLeverageRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<ChangeUmInitialLeverageResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Change-UM-Initial-Leverage Binance API Documentation}\n     */\n    changeUmInitialLeverage(\n        requestParameters: ChangeUmInitialLeverageRequest\n    ): Promise<RestApiResponse<ChangeUmInitialLeverageResponse>> {\n        return this.accountApi.changeUmInitialLeverage(requestParameters);\n    }\n\n    /**\n     * Change user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol in UM\n     *\n     * Weight: 1\n     *\n     * @summary Change UM Position Mode(TRADE)\n     * @param {ChangeUmPositionModeRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<ChangeUmPositionModeResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Change-UM-Position-Mode Binance API Documentation}\n     */\n    changeUmPositionMode(\n        requestParameters: ChangeUmPositionModeRequest\n    ): Promise<RestApiResponse<ChangeUmPositionModeResponse>> {\n        return this.accountApi.changeUmPositionMode(requestParameters);\n    }\n\n    /**\n     * Query CM notional and leverage brackets\n     *\n     * Weight: 1\n     *\n     * @summary CM Notional and Leverage Brackets(USER_DATA)\n     * @param {CmNotionalAndLeverageBracketsRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<CmNotionalAndLeverageBracketsResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/CM-Notional-and-Leverage-Brackets Binance API Documentation}\n     */\n    cmNotionalAndLeverageBrackets(\n        requestParameters: CmNotionalAndLeverageBracketsRequest = {}\n    ): Promise<RestApiResponse<CmNotionalAndLeverageBracketsResponse>> {\n        return this.accountApi.cmNotionalAndLeverageBrackets(requestParameters);\n    }\n\n    /**\n     * Fund collection for Portfolio Margin\n     *\n     * The BNB would not be collected from UM-PM account to the Portfolio Margin account.\n     * You can only use this function 500 times per hour in a rolling manner.\n     *\n     * Weight: 750\n     *\n     * @summary Fund Auto-collection(TRADE)\n     * @param {FundAutoCollectionRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<FundAutoCollectionResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Fund-Auto-collection Binance API Documentation}\n     */\n    fundAutoCollection(\n        requestParameters: FundAutoCollectionRequest = {}\n    ): Promise<RestApiResponse<FundAutoCollectionResponse>> {\n        return this.accountApi.fundAutoCollection(requestParameters);\n    }\n\n    /**\n     * Transfers specific asset from Futures Account to Margin account\n     *\n     * The BNB transfer is not be supported\n     *\n     * Weight: 30\n     *\n     * @summary Fund Collection by Asset(TRADE)\n     * @param {FundCollectionByAssetRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<FundCollectionByAssetResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Fund-Collection-by-Asset Binance API Documentation}\n     */\n    fundCollectionByAsset(\n        requestParameters: FundCollectionByAssetRequest\n    ): Promise<RestApiResponse<FundCollectionByAssetResponse>> {\n        return this.accountApi.fundCollectionByAsset(requestParameters);\n    }\n\n    /**\n     * Query Auto-repay-futures Status\n     *\n     * Weight: 30\n     *\n     * @summary Get Auto-repay-futures Status(USER_DATA)\n     * @param {GetAutoRepayFuturesStatusRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<GetAutoRepayFuturesStatusResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-Auto-repay-futures-Status Binance API Documentation}\n     */\n    getAutoRepayFuturesStatus(\n        requestParameters: GetAutoRepayFuturesStatusRequest = {}\n    ): Promise<RestApiResponse<GetAutoRepayFuturesStatusResponse>> {\n        return this.accountApi.getAutoRepayFuturesStatus(requestParameters);\n    }\n\n    /**\n     * Get current CM account asset and position information.\n     *\n     * Weight: 5\n     *\n     * @summary Get CM Account Detail(USER_DATA)\n     * @param {GetCmAccountDetailRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<GetCmAccountDetailResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-CM-Account-Detail Binance API Documentation}\n     */\n    getCmAccountDetail(\n        requestParameters: GetCmAccountDetailRequest = {}\n    ): Promise<RestApiResponse<GetCmAccountDetailResponse>> {\n        return this.accountApi.getCmAccountDetail(requestParameters);\n    }\n\n    /**\n     * Get user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol in CM\n     *\n     * Weight: 30\n     *\n     * @summary Get CM Current Position Mode(USER_DATA)\n     * @param {GetCmCurrentPositionModeRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<GetCmCurrentPositionModeResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-CM-Current-Position-Mode Binance API Documentation}\n     */\n    getCmCurrentPositionMode(\n        requestParameters: GetCmCurrentPositionModeRequest = {}\n    ): Promise<RestApiResponse<GetCmCurrentPositionModeResponse>> {\n        return this.accountApi.getCmCurrentPositionMode(requestParameters);\n    }\n\n    /**\n     * Get CM Income History\n     *\n     *\n     * If `incomeType` is not sent, all kinds of flow will be returned\n     * \"trandId\" is unique in the same \"incomeType\" for a user\n     * The interval between `startTime` and `endTime` can not exceed 200 days:\n     * If `startTime` and `endTime` are not sent, the last 200 days will be returned\n     *\n     * Weight: 30\n     *\n     * @summary Get CM Income History(USER_DATA)\n     * @param {GetCmIncomeHistoryRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<GetCmIncomeHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-CM-Income-History Binance API Documentation}\n     */\n    getCmIncomeHistory(\n        requestParameters: GetCmIncomeHistoryRequest = {}\n    ): Promise<RestApiResponse<GetCmIncomeHistoryResponse>> {\n        return this.accountApi.getCmIncomeHistory(requestParameters);\n    }\n\n    /**\n     * Get download id for UM futures order history\n     *\n     * Request Limitation is 10 times per month, shared by front end download page and rest api\n     * The time between `startTime` and `endTime` can not be longer than 1 year\n     *\n     * Weight: 1500\n     *\n     * @summary Get Download Id For UM Futures Order History (USER_DATA)\n     * @param {GetDownloadIdForUmFuturesOrderHistoryRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<GetDownloadIdForUmFuturesOrderHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-Download-Id-For-UM-Futures-Order-History Binance API Documentation}\n     */\n    getDownloadIdForUmFuturesOrderHistory(\n        requestParameters: GetDownloadIdForUmFuturesOrderHistoryRequest\n    ): Promise<RestApiResponse<GetDownloadIdForUmFuturesOrderHistoryResponse>> {\n        return this.accountApi.getDownloadIdForUmFuturesOrderHistory(requestParameters);\n    }\n\n    /**\n     * Get download id for UM futures trade history\n     *\n     * Request Limitation is 5 times per month, shared by front end download page and rest api\n     * The time between `startTime` and `endTime` can not be longer than 1 year\n     *\n     * Weight: 1500\n     *\n     * @summary Get Download Id For UM Futures Trade History (USER_DATA)\n     * @param {GetDownloadIdForUmFuturesTradeHistoryRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<GetDownloadIdForUmFuturesTradeHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-Download-Id-For-UM-Futures-Trade-History Binance API Documentation}\n     */\n    getDownloadIdForUmFuturesTradeHistory(\n        requestParameters: GetDownloadIdForUmFuturesTradeHistoryRequest\n    ): Promise<RestApiResponse<GetDownloadIdForUmFuturesTradeHistoryResponse>> {\n        return this.accountApi.getDownloadIdForUmFuturesTradeHistory(requestParameters);\n    }\n\n    /**\n     * Get download id for UM futures transaction history\n     *\n     * Request Limitation is 5 times per month, shared by front end download page and rest api\n     * The time between `startTime` and `endTime` can not be longer than 1 year\n     *\n     * Weight: 1500\n     *\n     * @summary Get Download Id For UM Futures Transaction History (USER_DATA)\n     * @param {GetDownloadIdForUmFuturesTransactionHistoryRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<GetDownloadIdForUmFuturesTransactionHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-Download-Id-For-UM-Futures-Transaction-History Binance API Documentation}\n     */\n    getDownloadIdForUmFuturesTransactionHistory(\n        requestParameters: GetDownloadIdForUmFuturesTransactionHistoryRequest\n    ): Promise<RestApiResponse<GetDownloadIdForUmFuturesTransactionHistoryResponse>> {\n        return this.accountApi.getDownloadIdForUmFuturesTransactionHistory(requestParameters);\n    }\n\n    /**\n     * Get Margin Borrow/Loan Interest History\n     *\n     *\n     * Response in descending order\n     * The max interval between startTime and endTime is 30 days. It is a MUST to ensure data correctness.\n     * If `startTime` and `endTime` not sent, return records of the last 7 days by default\n     * If `startTime` is sent and `endTime` is not sent, the records from `startTime` to the present will be returned; if `startTime` is more than 30 days ago, the records of the past 30 days will be returned.\n     * If `startTime` is not sent and `endTime` is sent, the records of the 7 days before `endTime` is returned.\n     * Type in response has 5 enums:\n     * `PERIODIC` interest charged per hour\n     * `ON_BORROW` first interest charged on borrow\n     * `PERIODIC_CONVERTED` interest charged per hour converted into BNB\n     * `ON_BORROW_CONVERTED` first interest charged on borrow converted into BNB\n     * `PORTFOLIO` Portfolio Margin negative balance daily interest\n     *\n     * Weight: 1\n     *\n     * @summary Get Margin Borrow/Loan Interest History(USER_DATA)\n     * @param {GetMarginBorrowLoanInterestHistoryRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<GetMarginBorrowLoanInterestHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-Margin-BorrowLoan-Interest-History Binance API Documentation}\n     */\n    getMarginBorrowLoanInterestHistory(\n        requestParameters: GetMarginBorrowLoanInterestHistoryRequest = {}\n    ): Promise<RestApiResponse<GetMarginBorrowLoanInterestHistoryResponse>> {\n        return this.accountApi.getMarginBorrowLoanInterestHistory(requestParameters);\n    }\n\n    /**\n     * Get current UM account asset and position information.\n     *\n     * Weight: 5\n     *\n     * @summary Get UM Account Detail(USER_DATA)\n     * @param {GetUmAccountDetailRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<GetUmAccountDetailResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Account-Detail Binance API Documentation}\n     */\n    getUmAccountDetail(\n        requestParameters: GetUmAccountDetailRequest = {}\n    ): Promise<RestApiResponse<GetUmAccountDetailResponse>> {\n        return this.accountApi.getUmAccountDetail(requestParameters);\n    }\n\n    /**\n     * Get current UM account asset and position information.\n     *\n     * Weight: 5\n     *\n     * @summary Get UM Account Detail V2(USER_DATA)\n     * @param {GetUmAccountDetailV2Request} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<GetUmAccountDetailV2Response>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Account-Detail-V2 Binance API Documentation}\n     */\n    getUmAccountDetailV2(\n        requestParameters: GetUmAccountDetailV2Request = {}\n    ): Promise<RestApiResponse<GetUmAccountDetailV2Response>> {\n        return this.accountApi.getUmAccountDetailV2(requestParameters);\n    }\n\n    /**\n     * Get user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol in UM\n     *\n     * Weight: 30\n     *\n     * @summary Get UM Current Position Mode(USER_DATA)\n     * @param {GetUmCurrentPositionModeRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<GetUmCurrentPositionModeResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Current-Position-Mode Binance API Documentation}\n     */\n    getUmCurrentPositionMode(\n        requestParameters: GetUmCurrentPositionModeRequest = {}\n    ): Promise<RestApiResponse<GetUmCurrentPositionModeResponse>> {\n        return this.accountApi.getUmCurrentPositionMode(requestParameters);\n    }\n\n    /**\n     * Get UM futures order download link by Id\n     *\n     * Download link expiration: 7 days\n     *\n     * Weight: 10\n     *\n     * @summary Get UM Futures Order Download Link by Id(USER_DATA)\n     * @param {GetUmFuturesOrderDownloadLinkByIdRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<GetUmFuturesOrderDownloadLinkByIdResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Futures-Order-Download-Link-by-Id Binance API Documentation}\n     */\n    getUmFuturesOrderDownloadLinkById(\n        requestParameters: GetUmFuturesOrderDownloadLinkByIdRequest\n    ): Promise<RestApiResponse<GetUmFuturesOrderDownloadLinkByIdResponse>> {\n        return this.accountApi.getUmFuturesOrderDownloadLinkById(requestParameters);\n    }\n\n    /**\n     * Get UM futures trade download link by Id\n     *\n     * Download link expiration: 7 days\n     *\n     * Weight: 10\n     *\n     * @summary Get UM Futures Trade Download Link by Id(USER_DATA)\n     * @param {GetUmFuturesTradeDownloadLinkByIdRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<GetUmFuturesTradeDownloadLinkByIdResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Futures-Trade-Download-Link-by-Id Binance API Documentation}\n     */\n    getUmFuturesTradeDownloadLinkById(\n        requestParameters: GetUmFuturesTradeDownloadLinkByIdRequest\n    ): Promise<RestApiResponse<GetUmFuturesTradeDownloadLinkByIdResponse>> {\n        return this.accountApi.getUmFuturesTradeDownloadLinkById(requestParameters);\n    }\n\n    /**\n     * Get UM futures Transaction download link by Id\n     *\n     * Download link expiration: 7 days\n     *\n     * Weight: 10\n     *\n     * @summary Get UM Futures Transaction Download Link by Id(USER_DATA)\n     * @param {GetUmFuturesTransactionDownloadLinkByIdRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<GetUmFuturesTransactionDownloadLinkByIdResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Futures-Transaction-Download-Link-by-Id Binance API Documentation}\n     */\n    getUmFuturesTransactionDownloadLinkById(\n        requestParameters: GetUmFuturesTransactionDownloadLinkByIdRequest\n    ): Promise<RestApiResponse<GetUmFuturesTransactionDownloadLinkByIdResponse>> {\n        return this.accountApi.getUmFuturesTransactionDownloadLinkById(requestParameters);\n    }\n\n    /**\n     * Get UM Income History\n     *\n     * If neither `startTime` nor `endTime` is sent, the recent 7-day data will be returned.\n     * If `incomeType` is not sent, all kinds of flow will be returned\n     * \"trandId\" is unique in the same incomeType for a user\n     * Income history only contains data for the last three months\n     *\n     * Weight: 30\n     *\n     * @summary Get UM Income History(USER_DATA)\n     * @param {GetUmIncomeHistoryRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<GetUmIncomeHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Income-History Binance API Documentation}\n     */\n    getUmIncomeHistory(\n        requestParameters: GetUmIncomeHistoryRequest = {}\n    ): Promise<RestApiResponse<GetUmIncomeHistoryResponse>> {\n        return this.accountApi.getUmIncomeHistory(requestParameters);\n    }\n\n    /**\n     * Get User Commission Rate for CM\n     *\n     * Weight: 20\n     *\n     * @summary Get User Commission Rate for CM(USER_DATA)\n     * @param {GetUserCommissionRateForCmRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<GetUserCommissionRateForCmResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-User-Commission-Rate-for-CM Binance API Documentation}\n     */\n    getUserCommissionRateForCm(\n        requestParameters: GetUserCommissionRateForCmRequest\n    ): Promise<RestApiResponse<GetUserCommissionRateForCmResponse>> {\n        return this.accountApi.getUserCommissionRateForCm(requestParameters);\n    }\n\n    /**\n     * Get User Commission Rate for UM\n     *\n     * Weight: 20\n     *\n     * @summary Get User Commission Rate for UM(USER_DATA)\n     * @param {GetUserCommissionRateForUmRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<GetUserCommissionRateForUmResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-User-Commission-Rate-for-UM Binance API Documentation}\n     */\n    getUserCommissionRateForUm(\n        requestParameters: GetUserCommissionRateForUmRequest\n    ): Promise<RestApiResponse<GetUserCommissionRateForUmResponse>> {\n        return this.accountApi.getUserCommissionRateForUm(requestParameters);\n    }\n\n    /**\n     * Query margin max borrow\n     *\n     * Weight: 5\n     *\n     * @summary Margin Max Borrow(USER_DATA)\n     * @param {MarginMaxBorrowRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<MarginMaxBorrowResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Margin-Max-Borrow Binance API Documentation}\n     */\n    marginMaxBorrow(\n        requestParameters: MarginMaxBorrowRequest\n    ): Promise<RestApiResponse<MarginMaxBorrowResponse>> {\n        return this.accountApi.marginMaxBorrow(requestParameters);\n    }\n\n    /**\n     * Portfolio Margin UM Trading Quantitative Rules Indicators\n     *\n     * Weight: 1 for a single symbol\n     * 10 when the symbol parameter is omitted\n     *\n     * @summary Portfolio Margin UM Trading Quantitative Rules Indicators(USER_DATA)\n     * @param {PortfolioMarginUmTradingQuantitativeRulesIndicatorsRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<PortfolioMarginUmTradingQuantitativeRulesIndicatorsResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Portfolio-Margin-UM-Trading-Quantitative-Rules-Indicators Binance API Documentation}\n     */\n    portfolioMarginUmTradingQuantitativeRulesIndicators(\n        requestParameters: PortfolioMarginUmTradingQuantitativeRulesIndicatorsRequest = {}\n    ): Promise<RestApiResponse<PortfolioMarginUmTradingQuantitativeRulesIndicatorsResponse>> {\n        return this.accountApi.portfolioMarginUmTradingQuantitativeRulesIndicators(\n            requestParameters\n        );\n    }\n\n    /**\n     * Get current CM position information.\n     *\n     * If neither `marginAsset` nor `pair` is sent, positions of all symbols with `TRADING` status will be returned.\n     * for One-way Mode user, the response will only show the \"BOTH\" positions\n     * for Hedge Mode user, the response will show \"LONG\", and \"SHORT\" positions.\n     * Please use with user data stream `ACCOUNT_UPDATE` to meet your timeliness and accuracy needs.\n     *\n     * Weight: 1\n     *\n     * @summary Query CM Position Information(USER_DATA)\n     * @param {QueryCmPositionInformationRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<QueryCmPositionInformationResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-CM-Position-Information Binance API Documentation}\n     */\n    queryCmPositionInformation(\n        requestParameters: QueryCmPositionInformationRequest = {}\n    ): Promise<RestApiResponse<QueryCmPositionInformationResponse>> {\n        return this.accountApi.queryCmPositionInformation(requestParameters);\n    }\n\n    /**\n     * Query margin loan record\n     *\n     * txId or startTime must be sent. txId takes precedence.\n     * Response in descending order\n     * The max interval between `startTime` and `endTime` is 30 days.\n     * If `startTime` and `endTime` not sent, return records of the last 7 days by default\n     * Set `archived` to `true` to query data from 6 months ago\n     *\n     * Weight: 10\n     *\n     * @summary Query Margin Loan Record(USER_DATA)\n     * @param {QueryMarginLoanRecordRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<QueryMarginLoanRecordResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-Margin-Loan-Record Binance API Documentation}\n     */\n    queryMarginLoanRecord(\n        requestParameters: QueryMarginLoanRecordRequest\n    ): Promise<RestApiResponse<QueryMarginLoanRecordResponse>> {\n        return this.accountApi.queryMarginLoanRecord(requestParameters);\n    }\n\n    /**\n     * Query Margin Max Withdraw\n     *\n     * Weight: 5\n     *\n     * @summary Query Margin Max Withdraw(USER_DATA)\n     * @param {QueryMarginMaxWithdrawRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<QueryMarginMaxWithdrawResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-Margin-Max-Withdraw Binance API Documentation}\n     */\n    queryMarginMaxWithdraw(\n        requestParameters: QueryMarginMaxWithdrawRequest\n    ): Promise<RestApiResponse<QueryMarginMaxWithdrawResponse>> {\n        return this.accountApi.queryMarginMaxWithdraw(requestParameters);\n    }\n\n    /**\n     * Query margin repay record.\n     *\n     * txId or startTime must be sent. txId takes precedence.\n     * Response in descending order\n     * The max interval between `startTime` and `endTime` is 30 days.\n     * If `startTime` and `endTime` not sent, return records of the last 7 days by default\n     * Set `archived` to `true` to query data from 6 months ago\n     *\n     * Weight: 10\n     *\n     * @summary Query Margin repay Record(USER_DATA)\n     * @param {QueryMarginRepayRecordRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<QueryMarginRepayRecordResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-Margin-repay-Record Binance API Documentation}\n     */\n    queryMarginRepayRecord(\n        requestParameters: QueryMarginRepayRecordRequest\n    ): Promise<RestApiResponse<QueryMarginRepayRecordResponse>> {\n        return this.accountApi.queryMarginRepayRecord(requestParameters);\n    }\n\n    /**\n     * Query interest history of negative balance for portfolio margin.\n     *\n     * Response in descending order\n     * The max interval between startTime and endTime is 30 days. It is a MUST to ensure data correctness.\n     * If `startTime` and `endTime` not sent, return records of the last 7 days by default\n     * If `startTime` is sent and `endTime` is not sent, the records from `startTime` to the present will be returned; if `startTime` is more than 30 days ago, the records of the past 30 days will be returned.\n     * If `startTime` is not sent and `endTime` is sent, the records of the 7 days before `endTime` is returned.\n     *\n     * Weight: 50\n     *\n     * @summary Query Portfolio Margin Negative Balance Interest History(USER_DATA)\n     * @param {QueryPortfolioMarginNegativeBalanceInterestHistoryRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<QueryPortfolioMarginNegativeBalanceInterestHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-Portfolio-Margin-Negative-Balance-Interest-History Binance API Documentation}\n     */\n    queryPortfolioMarginNegativeBalanceInterestHistory(\n        requestParameters: QueryPortfolioMarginNegativeBalanceInterestHistoryRequest = {}\n    ): Promise<RestApiResponse<QueryPortfolioMarginNegativeBalanceInterestHistoryResponse>> {\n        return this.accountApi.queryPortfolioMarginNegativeBalanceInterestHistory(\n            requestParameters\n        );\n    }\n\n    /**\n     * Get current UM position information.\n     *\n     * Please use with user data stream `ACCOUNT_UPDATE` to meet your timeliness and accuracy needs.\n     * for One-way Mode user, the response will only show the \"BOTH\" positions\n     * for Hedge Mode user, the response will show \"LONG\", and \"SHORT\" positions.\n     *\n     * Weight: 5\n     *\n     * @summary Query UM Position Information(USER_DATA)\n     * @param {QueryUmPositionInformationRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<QueryUmPositionInformationResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-UM-Position-Information Binance API Documentation}\n     */\n    queryUmPositionInformation(\n        requestParameters: QueryUmPositionInformationRequest = {}\n    ): Promise<RestApiResponse<QueryUmPositionInformationResponse>> {\n        return this.accountApi.queryUmPositionInformation(requestParameters);\n    }\n\n    /**\n     * Query user negative balance auto exchange record\n     *\n     * Response in descending order\n     * The max interval between `startTime` and `endTime` is 3 months.\n     *\n     * Weight: 100\n     *\n     * @summary Query User Negative Balance Auto Exchange Record (USER_DATA)\n     * @param {QueryUserNegativeBalanceAutoExchangeRecordRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<QueryUserNegativeBalanceAutoExchangeRecordResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-User-Negative-Balance-Auto-Exchange-Record Binance API Documentation}\n     */\n    queryUserNegativeBalanceAutoExchangeRecord(\n        requestParameters: QueryUserNegativeBalanceAutoExchangeRecordRequest\n    ): Promise<RestApiResponse<QueryUserNegativeBalanceAutoExchangeRecordResponse>> {\n        return this.accountApi.queryUserNegativeBalanceAutoExchangeRecord(requestParameters);\n    }\n\n    /**\n     * Query User Rate Limit\n     *\n     * Weight: 1\n     *\n     * @summary Query User Rate Limit (USER_DATA)\n     * @param {QueryUserRateLimitRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<QueryUserRateLimitResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-User-Rate-Limit Binance API Documentation}\n     */\n    queryUserRateLimit(\n        requestParameters: QueryUserRateLimitRequest = {}\n    ): Promise<RestApiResponse<QueryUserRateLimitResponse>> {\n        return this.accountApi.queryUserRateLimit(requestParameters);\n    }\n\n    /**\n     * Repay futures Negative Balance\n     *\n     * Weight: 750\n     *\n     * @summary Repay futures Negative Balance(USER_DATA)\n     * @param {RepayFuturesNegativeBalanceRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<RepayFuturesNegativeBalanceResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Repay-futures-Negative-Balance Binance API Documentation}\n     */\n    repayFuturesNegativeBalance(\n        requestParameters: RepayFuturesNegativeBalanceRequest = {}\n    ): Promise<RestApiResponse<RepayFuturesNegativeBalanceResponse>> {\n        return this.accountApi.repayFuturesNegativeBalance(requestParameters);\n    }\n\n    /**\n     * Query UM Futures account configuration\n     *\n     * Weight: 5\n     *\n     * @summary UM Futures Account Configuration(USER_DATA)\n     * @param {UmFuturesAccountConfigurationRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<UmFuturesAccountConfigurationResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Futures-Account-Config Binance API Documentation}\n     */\n    umFuturesAccountConfiguration(\n        requestParameters: UmFuturesAccountConfigurationRequest = {}\n    ): Promise<RestApiResponse<UmFuturesAccountConfigurationResponse>> {\n        return this.accountApi.umFuturesAccountConfiguration(requestParameters);\n    }\n\n    /**\n     * Get current UM account symbol configuration.\n     *\n     * Weight: 5\n     *\n     * @summary UM Futures Symbol Configuration(USER_DATA)\n     * @param {UmFuturesSymbolConfigurationRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<UmFuturesSymbolConfigurationResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Futures-Symbol-Config Binance API Documentation}\n     */\n    umFuturesSymbolConfiguration(\n        requestParameters: UmFuturesSymbolConfigurationRequest = {}\n    ): Promise<RestApiResponse<UmFuturesSymbolConfigurationResponse>> {\n        return this.accountApi.umFuturesSymbolConfiguration(requestParameters);\n    }\n\n    /**\n     * Query UM notional and leverage brackets\n     *\n     * Weight: 1\n     *\n     * @summary UM Notional and Leverage Brackets (USER_DATA)\n     * @param {UmNotionalAndLeverageBracketsRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<UmNotionalAndLeverageBracketsResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/UM-Notional-and-Leverage-Brackets Binance API Documentation}\n     */\n    umNotionalAndLeverageBrackets(\n        requestParameters: UmNotionalAndLeverageBracketsRequest = {}\n    ): Promise<RestApiResponse<UmNotionalAndLeverageBracketsResponse>> {\n        return this.accountApi.umNotionalAndLeverageBrackets(requestParameters);\n    }\n\n    /**\n     * Test connectivity to the Rest API.\n     *\n     * Weight: 1\n     *\n     * @summary Test Connectivity\n     *\n     * @returns {Promise<RestApiResponse<void>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/market-data/Test-Connectivity Binance API Documentation}\n     */\n    testConnectivity(): Promise<RestApiResponse<void>> {\n        return this.marketDataApi.testConnectivity();\n    }\n\n    /**\n     * Cancel All CM Open Conditional Orders\n     *\n     * Weight: 1\n     *\n     * @summary Cancel All CM Open Conditional Orders(TRADE)\n     * @param {CancelAllCmOpenConditionalOrdersRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<CancelAllCmOpenConditionalOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-All-CM-Open-Conditional-Orders Binance API Documentation}\n     */\n    cancelAllCmOpenConditionalOrders(\n        requestParameters: CancelAllCmOpenConditionalOrdersRequest\n    ): Promise<RestApiResponse<CancelAllCmOpenConditionalOrdersResponse>> {\n        return this.tradeApi.cancelAllCmOpenConditionalOrders(requestParameters);\n    }\n\n    /**\n     * Cancel all active LIMIT orders on specific symbol\n     *\n     * Weight: 1\n     *\n     * @summary Cancel All CM Open Orders(TRADE)\n     * @param {CancelAllCmOpenOrdersRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<CancelAllCmOpenOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-All-CM-Open-Orders Binance API Documentation}\n     */\n    cancelAllCmOpenOrders(\n        requestParameters: CancelAllCmOpenOrdersRequest\n    ): Promise<RestApiResponse<CancelAllCmOpenOrdersResponse>> {\n        return this.tradeApi.cancelAllCmOpenOrders(requestParameters);\n    }\n\n    /**\n     * Cancel All UM Algo Open Orders\n     *\n     * Weight: 1\n     *\n     * @summary Cancel All UM Algo Open Orders (TRADE)\n     * @param {CancelAllUmAlgoOpenOrdersRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<CancelAllUmAlgoOpenOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-All-UM-Algo-Open-Orders Binance API Documentation}\n     */\n    cancelAllUmAlgoOpenOrders(\n        requestParameters: CancelAllUmAlgoOpenOrdersRequest\n    ): Promise<RestApiResponse<CancelAllUmAlgoOpenOrdersResponse>> {\n        return this.tradeApi.cancelAllUmAlgoOpenOrders(requestParameters);\n    }\n\n    /**\n     * Cancel All UM Open Conditional Orders\n     *\n     * Weight: 1\n     *\n     * @summary Cancel All UM Open Conditional Orders\n     * @param {CancelAllUmOpenConditionalOrdersRequest} requestParameters Request parameters.\n     * @deprecated\n     * @returns {Promise<RestApiResponse<CancelAllUmOpenConditionalOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-All-UM-Open-Conditional-Orders Binance API Documentation}\n     */\n    cancelAllUmOpenConditionalOrders(\n        requestParameters: CancelAllUmOpenConditionalOrdersRequest\n    ): Promise<RestApiResponse<CancelAllUmOpenConditionalOrdersResponse>> {\n        return this.tradeApi.cancelAllUmOpenConditionalOrders(requestParameters);\n    }\n\n    /**\n     * Cancel all active LIMIT orders on specific symbol\n     *\n     * Weight: 1\n     *\n     * @summary Cancel All UM Open Orders(TRADE)\n     * @param {CancelAllUmOpenOrdersRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<CancelAllUmOpenOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-All-UM-Open-Orders Binance API Documentation}\n     */\n    cancelAllUmOpenOrders(\n        requestParameters: CancelAllUmOpenOrdersRequest\n    ): Promise<RestApiResponse<CancelAllUmOpenOrdersResponse>> {\n        return this.tradeApi.cancelAllUmOpenOrders(requestParameters);\n    }\n\n    /**\n     * Cancel CM Conditional Order\n     *\n     * Either `strategyId` or `newClientStrategyId` must be sent.\n     *\n     * Weight: 1\n     *\n     * @summary Cancel CM Conditional Order(TRADE)\n     * @param {CancelCmConditionalOrderRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<CancelCmConditionalOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-CM-Conditional-Order Binance API Documentation}\n     */\n    cancelCmConditionalOrder(\n        requestParameters: CancelCmConditionalOrderRequest\n    ): Promise<RestApiResponse<CancelCmConditionalOrderResponse>> {\n        return this.tradeApi.cancelCmConditionalOrder(requestParameters);\n    }\n\n    /**\n     * Cancel an active LIMIT order\n     *\n     * Either `orderId` or `origClientOrderId` must be sent.\n     *\n     * Weight: 1\n     *\n     * @summary Cancel CM Order(TRADE)\n     * @param {CancelCmOrderRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<CancelCmOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-CM-Order Binance API Documentation}\n     */\n    cancelCmOrder(\n        requestParameters: CancelCmOrderRequest\n    ): Promise<RestApiResponse<CancelCmOrderResponse>> {\n        return this.tradeApi.cancelCmOrder(requestParameters);\n    }\n\n    /**\n     * Cancel Margin Account All Open Orders on a Symbol\n     *\n     * Weight: 5\n     *\n     * @summary Cancel Margin Account All Open Orders on a Symbol(TRADE)\n     * @param {CancelMarginAccountAllOpenOrdersOnASymbolRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<CancelMarginAccountAllOpenOrdersOnASymbolResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-Margin-Account-All-Open-Orders-on-a-Symbol Binance API Documentation}\n     */\n    cancelMarginAccountAllOpenOrdersOnASymbol(\n        requestParameters: CancelMarginAccountAllOpenOrdersOnASymbolRequest\n    ): Promise<RestApiResponse<CancelMarginAccountAllOpenOrdersOnASymbolResponse>> {\n        return this.tradeApi.cancelMarginAccountAllOpenOrdersOnASymbol(requestParameters);\n    }\n\n    /**\n     * Cancel Margin Account OCO Orders\n     *\n     * Additional notes: Canceling an individual leg will cancel the entire OCO\n     *\n     * Weight: 2\n     *\n     * @summary Cancel Margin Account OCO Orders(TRADE)\n     * @param {CancelMarginAccountOcoOrdersRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<CancelMarginAccountOcoOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-Margin-Account-OCO-Orders Binance API Documentation}\n     */\n    cancelMarginAccountOcoOrders(\n        requestParameters: CancelMarginAccountOcoOrdersRequest\n    ): Promise<RestApiResponse<CancelMarginAccountOcoOrdersResponse>> {\n        return this.tradeApi.cancelMarginAccountOcoOrders(requestParameters);\n    }\n\n    /**\n     * Cancel Margin Account Order\n     *\n     * Either `orderId` or `origClientOrderId` must be sent.\n     *\n     * Weight: 2\n     *\n     * @summary Cancel Margin Account Order(TRADE)\n     * @param {CancelMarginAccountOrderRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<CancelMarginAccountOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-Margin-Account-Order Binance API Documentation}\n     */\n    cancelMarginAccountOrder(\n        requestParameters: CancelMarginAccountOrderRequest\n    ): Promise<RestApiResponse<CancelMarginAccountOrderResponse>> {\n        return this.tradeApi.cancelMarginAccountOrder(requestParameters);\n    }\n\n    /**\n     * Cancel an active UM algo order.\n     *\n     * Either `algoId` or `clientAlgoId` must be sent.\n     *\n     * Weight: 1\n     *\n     * @summary Cancel UM Algo Order (TRADE)\n     * @param {CancelUmAlgoOrderRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<CancelUmAlgoOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-UM-Algo-Order Binance API Documentation}\n     */\n    cancelUmAlgoOrder(\n        requestParameters: CancelUmAlgoOrderRequest = {}\n    ): Promise<RestApiResponse<CancelUmAlgoOrderResponse>> {\n        return this.tradeApi.cancelUmAlgoOrder(requestParameters);\n    }\n\n    /**\n     * Cancel UM Conditional Order\n     *\n     * Either `strategyId` or `newClientStrategyId` must be sent.\n     *\n     * Weight: 1\n     *\n     * @summary Cancel UM Conditional Order\n     * @param {CancelUmConditionalOrderRequest} requestParameters Request parameters.\n     * @deprecated\n     * @returns {Promise<RestApiResponse<CancelUmConditionalOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-UM-Conditional-Order Binance API Documentation}\n     */\n    cancelUmConditionalOrder(\n        requestParameters: CancelUmConditionalOrderRequest\n    ): Promise<RestApiResponse<CancelUmConditionalOrderResponse>> {\n        return this.tradeApi.cancelUmConditionalOrder(requestParameters);\n    }\n\n    /**\n     * Cancel an active UM LIMIT order\n     *\n     * Either `orderId` or `origClientOrderId` must be sent.\n     *\n     * Weight: 1\n     *\n     * @summary Cancel UM Order(TRADE)\n     * @param {CancelUmOrderRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<CancelUmOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-UM-Order Binance API Documentation}\n     */\n    cancelUmOrder(\n        requestParameters: CancelUmOrderRequest\n    ): Promise<RestApiResponse<CancelUmOrderResponse>> {\n        return this.tradeApi.cancelUmOrder(requestParameters);\n    }\n\n    /**\n     * Get trades for a specific account and CM symbol.\n     *\n     * Either `symbol` or `pair` must be sent\n     * `symbol` and `pair` cannot be sent together\n     * `pair` and `fromId` cannot be sent together\n     * `OrderId` can only be sent together with symbol\n     * If a `pair` is sent, tickers for all symbols of the `pair` will be returned\n     * The parameter `fromId` cannot be sent with `startTime` or `endTime`\n     * If `startTime` and `endTime` are both not sent, then the last '24 hours' data will be returned.\n     * The time between `startTime` and `endTime` cannot be longer than 24 hours.\n     *\n     * Weight: 20 with symbol, 40 with pair\n     *\n     * @summary CM Account Trade List(USER_DATA)\n     * @param {CmAccountTradeListRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<CmAccountTradeListResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/CM-Account-Trade-List Binance API Documentation}\n     */\n    cmAccountTradeList(\n        requestParameters: CmAccountTradeListRequest = {}\n    ): Promise<RestApiResponse<CmAccountTradeListResponse>> {\n        return this.tradeApi.cmAccountTradeList(requestParameters);\n    }\n\n    /**\n     * Query CM Position ADL Quantile Estimation\n     * Values update every 30s.\n     * Values 0, 1, 2, 3, 4 shows the queue position and possibility of ADL from low to high.\n     * For positions of the symbol are in One-way Mode or isolated margined in Hedge Mode, \"LONG\", \"SHORT\", and \"BOTH\" will be returned to show the positions' adl quantiles of different position sides.\n     * If the positions of the symbol are crossed margined in Hedge Mode:\n     * \"HEDGE\" as a sign will be returned instead of \"BOTH\";\n     * A same value caculated on unrealized pnls on long and short sides' positions will be shown for \"LONG\" and \"SHORT\" when there are positions in both of long and short sides.\n     *\n     * Weight: 5\n     *\n     * @summary CM Position ADL Quantile Estimation(USER_DATA)\n     * @param {CmPositionAdlQuantileEstimationRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<CmPositionAdlQuantileEstimationResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/CM-Position-ADL-Quantile-Estimation Binance API Documentation}\n     */\n    cmPositionAdlQuantileEstimation(\n        requestParameters: CmPositionAdlQuantileEstimationRequest = {}\n    ): Promise<RestApiResponse<CmPositionAdlQuantileEstimationResponse>> {\n        return this.tradeApi.cmPositionAdlQuantileEstimation(requestParameters);\n    }\n\n    /**\n     * Sign TradFi-Perps agreement contract\n     *\n     * Weight: 5\n     *\n     * @summary Futures TradFi Perps Contract(USER_DATA)\n     * @param {FuturesTradfiPerpsContractRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<FuturesTradfiPerpsContractResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Futures-TradFi-Perps-Contract Binance API Documentation}\n     */\n    futuresTradfiPerpsContract(\n        requestParameters: FuturesTradfiPerpsContractRequest = {}\n    ): Promise<RestApiResponse<FuturesTradfiPerpsContractResponse>> {\n        return this.tradeApi.futuresTradfiPerpsContract(requestParameters);\n    }\n\n    /**\n     * Get user's BNB Fee Discount for UM Futures (Fee Discount On or Fee Discount Off )\n     *\n     * Weight: 30\n     *\n     * @summary Get UM Futures BNB Burn Status (USER_DATA)\n     * @param {GetUmFuturesBnbBurnStatusRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<GetUmFuturesBnbBurnStatusResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Get-UM-Futures-BNB-Burn-Status Binance API Documentation}\n     */\n    getUmFuturesBnbBurnStatus(\n        requestParameters: GetUmFuturesBnbBurnStatusRequest = {}\n    ): Promise<RestApiResponse<GetUmFuturesBnbBurnStatusResponse>> {\n        return this.tradeApi.getUmFuturesBnbBurnStatus(requestParameters);\n    }\n\n    /**\n     * Apply for a margin loan.\n     *\n     * Weight: 100\n     *\n     * @summary Margin Account Borrow(MARGIN)\n     * @param {MarginAccountBorrowRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<MarginAccountBorrowResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Margin-Account-Borrow Binance API Documentation}\n     */\n    marginAccountBorrow(\n        requestParameters: MarginAccountBorrowRequest\n    ): Promise<RestApiResponse<MarginAccountBorrowResponse>> {\n        return this.tradeApi.marginAccountBorrow(requestParameters);\n    }\n\n    /**\n     * Send in a new OCO for a margin account\n     *\n     * Price Restrictions:\n     * `SELL`: Limit Price > Last Price > Stop Price\n     * `BUY`: Limit Price < Last Price < Stop Price\n     * Quantity Restrictions:\n     * Both legs must have the same quantity\n     * `ICEBERG` quantities however do not have to be the same.\n     * Order Rate Limit\n     * `OCO` counts as 2 orders against the order rate limit.\n     *\n     * Weight: 1\n     *\n     * @summary Margin Account New OCO(TRADE)\n     * @param {MarginAccountNewOcoRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<MarginAccountNewOcoResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Margin-Account-New-OCO Binance API Documentation}\n     */\n    marginAccountNewOco(\n        requestParameters: MarginAccountNewOcoRequest\n    ): Promise<RestApiResponse<MarginAccountNewOcoResponse>> {\n        return this.tradeApi.marginAccountNewOco(requestParameters);\n    }\n\n    /**\n     * Repay for a margin loan.\n     *\n     * Weight: 100\n     *\n     * @summary Margin Account Repay(MARGIN)\n     * @param {MarginAccountRepayRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<MarginAccountRepayResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Margin-Account-Repay Binance API Documentation}\n     */\n    marginAccountRepay(\n        requestParameters: MarginAccountRepayRequest\n    ): Promise<RestApiResponse<MarginAccountRepayResponse>> {\n        return this.tradeApi.marginAccountRepay(requestParameters);\n    }\n\n    /**\n     * Repay debt for a margin loan.\n     *\n     * The repay asset amount cannot exceed 50000 USD equivalent value for a single request.\n     * If `amount` is not sent, all the asset loan will be repaid if having enough specific repay assets.\n     * If `amount` is sent, only the certain amount of the asset loan will be repaid if having enough specific repay assets.\n     * The system will use the same asset to repay the loan first (if have) no matter whether put the asset in `specifyRepayAssets`\n     *\n     * Weight: 3000\n     *\n     * @summary Margin Account Repay Debt(TRADE)\n     * @param {MarginAccountRepayDebtRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<MarginAccountRepayDebtResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Margin-Account-Repay-Debt Binance API Documentation}\n     */\n    marginAccountRepayDebt(\n        requestParameters: MarginAccountRepayDebtRequest\n    ): Promise<RestApiResponse<MarginAccountRepayDebtResponse>> {\n        return this.tradeApi.marginAccountRepayDebt(requestParameters);\n    }\n\n    /**\n     * Margin Account Trade List\n     *\n     * Weight: 5\n     *\n     * @summary Margin Account Trade List (USER_DATA)\n     * @param {MarginAccountTradeListRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<MarginAccountTradeListResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Margin-Account-Trade-List Binance API Documentation}\n     */\n    marginAccountTradeList(\n        requestParameters: MarginAccountTradeListRequest\n    ): Promise<RestApiResponse<MarginAccountTradeListResponse>> {\n        return this.tradeApi.marginAccountTradeList(requestParameters);\n    }\n\n    /**\n     * Order modify function, currently only LIMIT order modification is supported, modified orders will be reordered in the match queue\n     *\n     * Either `orderId` or `origClientOrderId` must be sent, and the `orderId` will prevail if both are sent.\n     * Both `quantity` and `price` must be sent\n     * When the new `quantity` or `price` doesn't satisfy PRICE_FILTER / PERCENT_FILTER / LOT_SIZE, amendment will be rejected and the order will stay as it is.\n     * However the order will be cancelled by the amendment in the following situations:\n     * when the order is in partially filled status and the new `quantity` <= `executedQty`\n     * When the order is `GTX` and the new price will cause it to be executed immediately\n     *\n     * Weight: 1\n     *\n     * @summary Modify CM Order(TRADE)\n     * @param {ModifyCmOrderRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<ModifyCmOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Modify-CM-Order Binance API Documentation}\n     */\n    modifyCmOrder(\n        requestParameters: ModifyCmOrderRequest\n    ): Promise<RestApiResponse<ModifyCmOrderResponse>> {\n        return this.tradeApi.modifyCmOrder(requestParameters);\n    }\n\n    /**\n     * Order modify function, currently only LIMIT order modification is supported, modified orders will be reordered in the match queue\n     *\n     * Either orderId or origClientOrderId must be sent, and the orderId will prevail if both are sent.\n     * Both quantity and price must be sent\n     * When the new quantity or price doesn't satisfy PRICE_FILTER / PERCENT_FILTER / LOT_SIZE, amendment will be rejected and the order will stay as it is.\n     * However the order will be cancelled by the amendment in the following situations:\n     * when the order is in partially filled status and the new quantity <= executedQty\n     * When the order is GTX and the new price will cause it to be executed immediately\n     *\n     * Weight: 1\n     *\n     * @summary Modify UM Order(TRADE)\n     * @param {ModifyUmOrderRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<ModifyUmOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Modify-UM-Order Binance API Documentation}\n     */\n    modifyUmOrder(\n        requestParameters: ModifyUmOrderRequest\n    ): Promise<RestApiResponse<ModifyUmOrderResponse>> {\n        return this.tradeApi.modifyUmOrder(requestParameters);\n    }\n\n    /**\n     * New CM Conditional Order\n     *\n     * Order with type `STOP/TAKE_PROFIT`, parameter `timeInForce` can be sent ( default `GTC`).\n     * Condition orders will be triggered when:\n     * `STOP`, `STOP_MARKET`:\n     * BUY: \"MARK_PRICE\"  >= `stopPrice`\n     * SELL: \"MARK_PRICE\" <= `stopPrice`\n     * `TAKE_PROFIT`, `TAKE_PROFIT_MARKET`:\n     * BUY: \"MARK_PRICE\" <= `stopPrice`\n     * SELL: \"MARK_PRICE\" >= `stopPrice`\n     * `TRAILING_STOP_MARKET`:\n     * BUY: the lowest mark price after order placed `<= `activationPrice`, and the latest mark price >`= the lowest mark price * (1 + `callbackRate`)\n     * SELL: the highest mark price after order placed >= `activationPrice`, and the latest mark price <= the highest mark price * (1 - `callbackRate`)\n     * For `TRAILING_STOP_MARKET`, if you got such error code. `{\"code\": -2021, \"msg\": \"Order would immediately trigger.\"}` means that the parameters you send do not meet the following requirements:\n     * BUY: `activationPrice` should be smaller than latest mark price.\n     * SELL: `activationPrice` should be larger than latest mark price.\n     * Condition orders will be triggered when:\n     * If parameter`priceProtect`is sent as true:\n     * when price reaches the `stopPrice` ，the difference rate between \"MARK_PRICE\" and \"CONTRACT_PRICE\" cannot be larger than the \"triggerProtect\" of the symbol\n     * \"triggerProtect\" of a symbol can be got from `GET /fapi/v1/exchangeInfo`\n     * `STOP`, `STOP_MARKET`:\n     * BUY: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") >= `stopPrice`\n     * SELL: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") <= `stopPrice`\n     * `TAKE_PROFIT`, `TAKE_PROFIT_MARKET`:\n     * BUY: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") <= `stopPrice`\n     * SELL: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") >= `stopPrice`\n     *\n     * Weight: 1\n     *\n     * @summary New CM Conditional Order(TRADE)\n     * @param {NewCmConditionalOrderRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<NewCmConditionalOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/New-CM-Conditional-Order Binance API Documentation}\n     */\n    newCmConditionalOrder(\n        requestParameters: NewCmConditionalOrderRequest\n    ): Promise<RestApiResponse<NewCmConditionalOrderResponse>> {\n        return this.tradeApi.newCmConditionalOrder(requestParameters);\n    }\n\n    /**\n     * Place new CM order\n     *\n     * If `newOrderRespType` is sent as `RESULT` :\n     * `MARKET` order: the final FILLED result of the order will be return directly.\n     * `LIMIT` order with special `timeInForce`: the final status result of the order(FILLED or EXPIRED) will be returned directly.\n     *\n     * Weight: 1\n     *\n     * @summary New CM Order(TRADE)\n     * @param {NewCmOrderRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<NewCmOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/New-CM-Order Binance API Documentation}\n     */\n    newCmOrder(requestParameters: NewCmOrderRequest): Promise<RestApiResponse<NewCmOrderResponse>> {\n        return this.tradeApi.newCmOrder(requestParameters);\n    }\n\n    /**\n     * New Margin Order\n     *\n     * Weight: 1\n     *\n     * @summary New Margin Order(TRADE)\n     * @param {NewMarginOrderRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<NewMarginOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/New-Margin-Order Binance API Documentation}\n     */\n    newMarginOrder(\n        requestParameters: NewMarginOrderRequest\n    ): Promise<RestApiResponse<NewMarginOrderResponse>> {\n        return this.tradeApi.newMarginOrder(requestParameters);\n    }\n\n    /**\n     * Place new UM conditional order\n     *\n     * Algo order with type `STOP`,  parameter `timeInForce` can be sent ( default `GTC`).\n     * Algo order with type `TAKE_PROFIT`,  parameter `timeInForce` can be sent ( default `GTC`).\n     * Condition orders will be triggered when:\n     *\n     * If parameter`priceProtect`is sent as true:\n     * when price reaches the `triggerPrice` , the difference rate between \"MARK_PRICE\" and \"CONTRACT_PRICE\" cannot be larger than the \"triggerProtect\" of the symbol\n     * \"triggerProtect\" of a symbol can be got from `GET /fapi/v1/exchangeInfo`\n     *\n     * `STOP`, `STOP_MARKET`:\n     * BUY: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") >= `triggerPrice`\n     * SELL: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") <= `triggerPrice`\n     * `TAKE_PROFIT`, `TAKE_PROFIT_MARKET`:\n     * BUY: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") <= `triggerPrice`\n     * SELL: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") >= `triggerPrice`\n     * `TRAILING_STOP_MARKET`:\n     * BUY: the lowest price after order placed <= `activatePrice`, and the latest price >= the lowest price * (1 + `callbackRate`)\n     * SELL: the highest price after order placed >= `activatePrice`, and the latest price <= the highest price * (1 - `callbackRate`)\n     *\n     * For `TRAILING_STOP_MARKET`, if you got such error code.\n     * ``{\"code\": -2021, \"msg\": \"Order would immediately trigger.\"}``\n     * means that the parameters you send do not meet the following requirements:\n     * BUY: `activatePrice` should be smaller than latest price.\n     * SELL: `activatePrice` should be larger than latest price.\n     *\n     * `selfTradePreventionMode` is only effective when `timeInForce` set to `IOC` or `GTC` or `GTD`.\n     *\n     * Weight: 1\n     *\n     * @summary New UM Algo Order (TRADE)\n     * @param {NewUmAlgoOrderRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<NewUmAlgoOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/New-UM-Algo-Order Binance API Documentation}\n     */\n    newUmAlgoOrder(\n        requestParameters: NewUmAlgoOrderRequest\n    ): Promise<RestApiResponse<NewUmAlgoOrderResponse>> {\n        return this.tradeApi.newUmAlgoOrder(requestParameters);\n    }\n\n    /**\n     * Place new UM conditional order\n     *\n     * Order with type `STOP/TAKE_PROFIT`, parameter `timeInForce` can be sent ( default `GTC`).\n     * Condition orders will be triggered when:\n     * `STOP`, `STOP_MARKET`:\n     * BUY: \"MARK_PRICE\"  >= `stopPrice`\n     * SELL: \"MARK_PRICE\" <= `stopPrice`\n     * `TAKE_PROFIT`, `TAKE_PROFIT_MARKET`:\n     * BUY: \"MARK_PRICE\" <= `stopPrice`\n     * SELL: \"MARK_PRICE\" >= `stopPrice`\n     * `TRAILING_STOP_MARKET`:\n     * BUY: the lowest mark price after order placed `<= `activationPrice`, and the latest mark price >`= the lowest mark price * (1 + `callbackRate`)\n     * SELL: the highest mark price after order placed >= `activationPrice`, and the latest mark price <= the highest mark price * (1 - `callbackRate`)\n     * For `TRAILING_STOP_MARKET`, if you got such error code. `{\"code\": -2021, \"msg\": \"Order would immediately trigger.\"}` means that the parameters you send do not meet the following requirements:\n     * BUY: `activationPrice` should be smaller than latest mark price.\n     * SELL: `activationPrice` should be larger than latest mark price.\n     * Condition orders will be triggered when:\n     * If parameter`priceProtect`is sent as true:\n     * when price reaches the `stopPrice` ，the difference rate between \"MARK_PRICE\" and \"CONTRACT_PRICE\" cannot be larger than the \"triggerProtect\" of the symbol\n     * \"triggerProtect\" of a symbol can be got from `GET /fapi/v1/exchangeInfo`\n     * `STOP`, `STOP_MARKET`:\n     * BUY: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") >= `stopPrice`\n     * SELL: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") <= `stopPrice`\n     * `TAKE_PROFIT`, `TAKE_PROFIT_MARKET`:\n     * BUY: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") <= `stopPrice`\n     * SELL: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") >= `stopPrice`\n     * `selfTradePreventionMode` is only effective when `timeInForce` set to `IOC` or `GTC` or `GTD`.\n     * In extreme market conditions, timeInForce `GTD` order auto cancel time might be delayed comparing to `goodTillDate`\n     *\n     * Weight: 1\n     *\n     * @summary New UM Conditional Order\n     * @param {NewUmConditionalOrderRequest} requestParameters Request parameters.\n     * @deprecated\n     * @returns {Promise<RestApiResponse<NewUmConditionalOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/New-UM-Conditional-Order Binance API Documentation}\n     */\n    newUmConditionalOrder(\n        requestParameters: NewUmConditionalOrderRequest\n    ): Promise<RestApiResponse<NewUmConditionalOrderResponse>> {\n        return this.tradeApi.newUmConditionalOrder(requestParameters);\n    }\n\n    /**\n     * Place new UM order\n     *\n     * If `newOrderRespType` is sent as `RESULT` :\n     * `MARKET` order: the final FILLED result of the order will be return directly.\n     * `LIMIT` order with special `timeInForce`: the final status result of the order(FILLED or EXPIRED) will be returned directly.\n     * `selfTradePreventionMode` is only effective when `timeInForce` set to `IOC` or `GTC` or `GTD`.\n     * In extreme market conditions, timeInForce `GTD` order auto cancel time might be delayed comparing to `goodTillDate`\n     *\n     * Weight: 1\n     *\n     * @summary New UM Order (TRADE)\n     * @param {NewUmOrderRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<NewUmOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/New-UM-Order Binance API Documentation}\n     */\n    newUmOrder(requestParameters: NewUmOrderRequest): Promise<RestApiResponse<NewUmOrderResponse>> {\n        return this.tradeApi.newUmOrder(requestParameters);\n    }\n\n    /**\n     * Query All CM Conditional Orders\n     *\n     * These orders will not be found:\n     * order strategyStatus is `CANCELED` or `EXPIRED`, **AND**\n     * order has NO filled trade, **AND**\n     * created time + 7 days < current time\n     * The query time period must be less than 7 days( default as the recent 7 days).\n     *\n     * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n     *\n     * @summary Query All CM Conditional Orders(USER_DATA)\n     * @param {QueryAllCmConditionalOrdersRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<QueryAllCmConditionalOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-CM-Conditional-Orders Binance API Documentation}\n     */\n    queryAllCmConditionalOrders(\n        requestParameters: QueryAllCmConditionalOrdersRequest = {}\n    ): Promise<RestApiResponse<QueryAllCmConditionalOrdersResponse>> {\n        return this.tradeApi.queryAllCmConditionalOrders(requestParameters);\n    }\n\n    /**\n     * Get all account CM orders; active, canceled, or filled.\n     *\n     * Either `symbol` or `pair` must be sent.\n     * If `orderId` is set, it will get orders >= that orderId. Otherwise most recent orders are returned.\n     * These orders will not be found:\n     * order status is `CANCELED` or `EXPIRED`, **AND**\n     * order has NO filled trade, **AND**\n     * created time + 3 days < current time\n     *\n     * Weight: 20 with symbol, 40 with pair\n     *\n     * @summary Query All CM Orders (USER_DATA)\n     * @param {QueryAllCmOrdersRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<QueryAllCmOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-CM-Orders Binance API Documentation}\n     */\n    queryAllCmOrders(\n        requestParameters: QueryAllCmOrdersRequest\n    ): Promise<RestApiResponse<QueryAllCmOrdersResponse>> {\n        return this.tradeApi.queryAllCmOrders(requestParameters);\n    }\n\n    /**\n     * Get all open conditional orders on a symbol. **Careful** when accessing this with no symbol.\n     *\n     * If the symbol is not sent, orders for all symbols will be returned in an array.\n     *\n     * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n     *\n     * @summary Query All Current CM Open Conditional Orders (USER_DATA)\n     * @param {QueryAllCurrentCmOpenConditionalOrdersRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<QueryAllCurrentCmOpenConditionalOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Current-CM-Open-Conditional-Orders Binance API Documentation}\n     */\n    queryAllCurrentCmOpenConditionalOrders(\n        requestParameters: QueryAllCurrentCmOpenConditionalOrdersRequest = {}\n    ): Promise<RestApiResponse<QueryAllCurrentCmOpenConditionalOrdersResponse>> {\n        return this.tradeApi.queryAllCurrentCmOpenConditionalOrders(requestParameters);\n    }\n\n    /**\n     * Get all open orders on a symbol.\n     *\n     * If the symbol is not sent, orders for all symbols will be returned in an array.\n     *\n     * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n     * Careful when accessing this with no symbol.\n     *\n     * @summary Query All Current CM Open Orders(USER_DATA)\n     * @param {QueryAllCurrentCmOpenOrdersRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<QueryAllCurrentCmOpenOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Current-CM-Open-Orders Binance API Documentation}\n     */\n    queryAllCurrentCmOpenOrders(\n        requestParameters: QueryAllCurrentCmOpenOrdersRequest = {}\n    ): Promise<RestApiResponse<QueryAllCurrentCmOpenOrdersResponse>> {\n        return this.tradeApi.queryAllCurrentCmOpenOrders(requestParameters);\n    }\n\n    /**\n     * Get all UM open algo orders on a symbol.\n     *\n     * If the symbol is not sent, orders for all symbols will be returned in an array.\n     *\n     * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n     * Careful when accessing this with no symbol.\n     *\n     * @summary Query All Current UM Open Algo Orders (USER_DATA)\n     * @param {QueryAllCurrentUmOpenAlgoOrdersRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<QueryAllCurrentUmOpenAlgoOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Current-UM-Open-Algo-Orders Binance API Documentation}\n     */\n    queryAllCurrentUmOpenAlgoOrders(\n        requestParameters: QueryAllCurrentUmOpenAlgoOrdersRequest = {}\n    ): Promise<RestApiResponse<QueryAllCurrentUmOpenAlgoOrdersResponse>> {\n        return this.tradeApi.queryAllCurrentUmOpenAlgoOrders(requestParameters);\n    }\n\n    /**\n     * Get all open conditional orders on a symbol.\n     *\n     * If the symbol is not sent, orders for all symbols will be returned in an array.\n     *\n     * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n     * Careful when accessing this with no symbol.\n     *\n     * @summary Query All Current UM Open Conditional Orders\n     * @param {QueryAllCurrentUmOpenConditionalOrdersRequest} requestParameters Request parameters.\n     * @deprecated\n     * @returns {Promise<RestApiResponse<QueryAllCurrentUmOpenConditionalOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Current-UM-Open-Conditional-Orders Binance API Documentation}\n     */\n    queryAllCurrentUmOpenConditionalOrders(\n        requestParameters: QueryAllCurrentUmOpenConditionalOrdersRequest = {}\n    ): Promise<RestApiResponse<QueryAllCurrentUmOpenConditionalOrdersResponse>> {\n        return this.tradeApi.queryAllCurrentUmOpenConditionalOrders(requestParameters);\n    }\n\n    /**\n     * Get all open orders on a symbol.\n     *\n     *\n     * If the symbol is not sent, orders for all symbols will be returned in an array.\n     *\n     * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n     *\n     * @summary Query All Current UM Open Orders(USER_DATA)\n     * @param {QueryAllCurrentUmOpenOrdersRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<QueryAllCurrentUmOpenOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Current-UM-Open-Orders Binance API Documentation}\n     */\n    queryAllCurrentUmOpenOrders(\n        requestParameters: QueryAllCurrentUmOpenOrdersRequest = {}\n    ): Promise<RestApiResponse<QueryAllCurrentUmOpenOrdersResponse>> {\n        return this.tradeApi.queryAllCurrentUmOpenOrders(requestParameters);\n    }\n\n    /**\n     * Query All Margin Account Orders\n     *\n     * Weight: 100\n     *\n     * @summary Query All Margin Account Orders (USER_DATA)\n     * @param {QueryAllMarginAccountOrdersRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<QueryAllMarginAccountOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Margin-Account-Orders Binance API Documentation}\n     */\n    queryAllMarginAccountOrders(\n        requestParameters: QueryAllMarginAccountOrdersRequest\n    ): Promise<RestApiResponse<QueryAllMarginAccountOrdersResponse>> {\n        return this.tradeApi.queryAllMarginAccountOrders(requestParameters);\n    }\n\n    /**\n     * Query All UM Conditional Orders\n     *\n     * These orders will not be found:\n     * order strategyStatus is `CANCELED` or `EXPIRED`, **AND**\n     * order has NO filled trade, **AND**\n     * created time + 7 days < current time\n     * The query time period must be less than 7 days( default as the recent 7 days).\n     *\n     * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n     *\n     * @summary Query All UM Conditional Orders\n     * @param {QueryAllUmConditionalOrdersRequest} requestParameters Request parameters.\n     * @deprecated\n     * @returns {Promise<RestApiResponse<QueryAllUmConditionalOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-UM-Conditional-Orders Binance API Documentation}\n     */\n    queryAllUmConditionalOrders(\n        requestParameters: QueryAllUmConditionalOrdersRequest = {}\n    ): Promise<RestApiResponse<QueryAllUmConditionalOrdersResponse>> {\n        return this.tradeApi.queryAllUmConditionalOrders(requestParameters);\n    }\n\n    /**\n     * Get all account UM orders; active, canceled, or filled.\n     * These orders will not be found:\n     * order status is `CANCELED` or `EXPIRED`, **AND**\n     * order has NO filled trade, **AND**\n     * created time + 3 days < current time\n     *\n     * If `orderId` is set, it will get orders >= that orderId. Otherwise most recent orders are returned.\n     * The query time period must be less then 7 days( default as the recent 7 days).\n     *\n     * Weight: 5\n     *\n     * @summary Query All UM Orders(USER_DATA)\n     * @param {QueryAllUmOrdersRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<QueryAllUmOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-UM-Orders Binance API Documentation}\n     */\n    queryAllUmOrders(\n        requestParameters: QueryAllUmOrdersRequest\n    ): Promise<RestApiResponse<QueryAllUmOrdersResponse>> {\n        return this.tradeApi.queryAllUmOrders(requestParameters);\n    }\n\n    /**\n     * Query CM Conditional Order History\n     *\n     *\n     * Either `strategyId` or `newClientStrategyId` must be sent.\n     * `NEW` orders will not be found.\n     * These orders will not be found:\n     * order status is `CANCELED` or `EXPIRED`, **AND**\n     * order has NO filled trade, **AND**\n     * created time + 7 days < current time\n     *\n     * Weight: 1\n     *\n     * @summary Query CM Conditional Order History(USER_DATA)\n     * @param {QueryCmConditionalOrderHistoryRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<QueryCmConditionalOrderHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-CM-Conditional-Order-History Binance API Documentation}\n     */\n    queryCmConditionalOrderHistory(\n        requestParameters: QueryCmConditionalOrderHistoryRequest\n    ): Promise<RestApiResponse<QueryCmConditionalOrderHistoryResponse>> {\n        return this.tradeApi.queryCmConditionalOrderHistory(requestParameters);\n    }\n\n    /**\n     * Get order modification history\n     *\n     * Either `orderId` or `origClientOrderId` must be sent, and the `orderId` will prevail if both are sent.\n     *\n     * Weight: 1\n     *\n     * @summary Query CM Modify Order History(TRADE)\n     * @param {QueryCmModifyOrderHistoryRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<QueryCmModifyOrderHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-CM-Modify-Order-History Binance API Documentation}\n     */\n    queryCmModifyOrderHistory(\n        requestParameters: QueryCmModifyOrderHistoryRequest\n    ): Promise<RestApiResponse<QueryCmModifyOrderHistoryResponse>> {\n        return this.tradeApi.queryCmModifyOrderHistory(requestParameters);\n    }\n\n    /**\n     * Check an CM order's status.\n     *\n     * Either `orderId` or `origClientOrderId` must be sent.\n     * These orders will not be found:\n     * order status is `CANCELED` or `EXPIRED`, **AND**\n     * order has NO filled trade, **AND**\n     * created time + 3 days < current time\n     *\n     * Weight: 1\n     *\n     * @summary Query CM Order(USER_DATA)\n     * @param {QueryCmOrderRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<QueryCmOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-CM-Order Binance API Documentation}\n     */\n    queryCmOrder(\n        requestParameters: QueryCmOrderRequest\n    ): Promise<RestApiResponse<QueryCmOrderResponse>> {\n        return this.tradeApi.queryCmOrder(requestParameters);\n    }\n\n    /**\n     * Query Current CM Open Conditional Order\n     *\n     * Either `strategyId` or `newClientStrategyId` must be sent.\n     * If the queried order has been triggered, cancelled or expired, the error message \"Order does not exist\" will be returned.\n     *\n     * Weight: 1\n     *\n     * @summary Query Current CM Open Conditional Order(USER_DATA)\n     * @param {QueryCurrentCmOpenConditionalOrderRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<QueryCurrentCmOpenConditionalOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-CM-Open-Conditional-Order Binance API Documentation}\n     */\n    queryCurrentCmOpenConditionalOrder(\n        requestParameters: QueryCurrentCmOpenConditionalOrderRequest\n    ): Promise<RestApiResponse<QueryCurrentCmOpenConditionalOrderResponse>> {\n        return this.tradeApi.queryCurrentCmOpenConditionalOrder(requestParameters);\n    }\n\n    /**\n     * Query current CM open order\n     *\n     * Either `orderId` or `origClientOrderId` must be sent.\n     * If the queried order has been filled or cancelled, the error message \"Order does not exist\" will be returned.\n     *\n     * Weight: 1\n     *\n     * @summary Query Current CM Open Order (USER_DATA)\n     * @param {QueryCurrentCmOpenOrderRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<QueryCurrentCmOpenOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-CM-Open-Order Binance API Documentation}\n     */\n    queryCurrentCmOpenOrder(\n        requestParameters: QueryCurrentCmOpenOrderRequest\n    ): Promise<RestApiResponse<QueryCurrentCmOpenOrderResponse>> {\n        return this.tradeApi.queryCurrentCmOpenOrder(requestParameters);\n    }\n\n    /**\n     * Query Current Margin Open Order\n     *\n     * Weight: 5\n     *\n     * @summary Query Current Margin Open Order (USER_DATA)\n     * @param {QueryCurrentMarginOpenOrderRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<QueryCurrentMarginOpenOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-Margin-Open-Order Binance API Documentation}\n     */\n    queryCurrentMarginOpenOrder(\n        requestParameters: QueryCurrentMarginOpenOrderRequest\n    ): Promise<RestApiResponse<QueryCurrentMarginOpenOrderResponse>> {\n        return this.tradeApi.queryCurrentMarginOpenOrder(requestParameters);\n    }\n\n    /**\n     * Check an UM algo order's status.\n     *\n     * These orders will not be found:\n     * order status is `CANCELED` or `EXPIRED` **AND** order has NO filled trade **AND** created time + 3 days < current time\n     * order create time + 90 days < current time\n     *\n     * Either `algoId` or `clientAlgoId` must be sent.\n     * `algoId` is self-increment for each specific `symbol`\n     *\n     * Weight: 1\n     *\n     * @summary Query Current UM Open Algo Order (USER_DATA)\n     * @param {QueryCurrentUmOpenAlgoOrderRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<QueryCurrentUmOpenAlgoOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-UM-Open-Algo-Order Binance API Documentation}\n     */\n    queryCurrentUmOpenAlgoOrder(\n        requestParameters: QueryCurrentUmOpenAlgoOrderRequest = {}\n    ): Promise<RestApiResponse<QueryCurrentUmOpenAlgoOrderResponse>> {\n        return this.tradeApi.queryCurrentUmOpenAlgoOrder(requestParameters);\n    }\n\n    /**\n     * Query Current UM Open Conditional Order\n     *\n     * Either `strategyId` or `newClientStrategyId` must be sent.\n     * If the queried order has been `CANCELED`, `TRIGGERED` or `EXPIRED`, the error message \"Order does not exist\" will be returned.\n     *\n     * Weight: 1\n     *\n     * @summary Query Current UM Open Conditional Order\n     * @param {QueryCurrentUmOpenConditionalOrderRequest} requestParameters Request parameters.\n     * @deprecated\n     * @returns {Promise<RestApiResponse<QueryCurrentUmOpenConditionalOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-UM-Open-Conditional-Order Binance API Documentation}\n     */\n    queryCurrentUmOpenConditionalOrder(\n        requestParameters: QueryCurrentUmOpenConditionalOrderRequest\n    ): Promise<RestApiResponse<QueryCurrentUmOpenConditionalOrderResponse>> {\n        return this.tradeApi.queryCurrentUmOpenConditionalOrder(requestParameters);\n    }\n\n    /**\n     * Query current UM open order\n     *\n     *\n     * Either `orderId` or `origClientOrderId` must be sent.\n     * If the queried order has been filled or cancelled, the error message \"Order does not exist\" will be returned.\n     *\n     * Weight: 1\n     *\n     * @summary Query Current UM Open Order(USER_DATA)\n     * @param {QueryCurrentUmOpenOrderRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<QueryCurrentUmOpenOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-UM-Open-Order Binance API Documentation}\n     */\n    queryCurrentUmOpenOrder(\n        requestParameters: QueryCurrentUmOpenOrderRequest\n    ): Promise<RestApiResponse<QueryCurrentUmOpenOrderResponse>> {\n        return this.tradeApi.queryCurrentUmOpenOrder(requestParameters);\n    }\n\n    /**\n     * Query Margin Account Order\n     *\n     * Weight: 10\n     *\n     * @summary Query Margin Account Order (USER_DATA)\n     * @param {QueryMarginAccountOrderRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<QueryMarginAccountOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Margin-Account-Order Binance API Documentation}\n     */\n    queryMarginAccountOrder(\n        requestParameters: QueryMarginAccountOrderRequest\n    ): Promise<RestApiResponse<QueryMarginAccountOrderResponse>> {\n        return this.tradeApi.queryMarginAccountOrder(requestParameters);\n    }\n\n    /**\n     * Query all OCO for a specific margin account based on provided optional parameters\n     *\n     * Weight: 100\n     *\n     * @summary Query Margin Account\\'s all OCO (USER_DATA)\n     * @param {QueryMarginAccountsAllOcoRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<QueryMarginAccountsAllOcoResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Margin-Account-all-OCO Binance API Documentation}\n     */\n    queryMarginAccountsAllOco(\n        requestParameters: QueryMarginAccountsAllOcoRequest = {}\n    ): Promise<RestApiResponse<QueryMarginAccountsAllOcoResponse>> {\n        return this.tradeApi.queryMarginAccountsAllOco(requestParameters);\n    }\n\n    /**\n     * Retrieves a specific OCO based on provided optional parameters\n     *\n     * Weight: 5\n     *\n     * @summary Query Margin Account\\'s OCO (USER_DATA)\n     * @param {QueryMarginAccountsOcoRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<QueryMarginAccountsOcoResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Margin-Account-OCO Binance API Documentation}\n     */\n    queryMarginAccountsOco(\n        requestParameters: QueryMarginAccountsOcoRequest = {}\n    ): Promise<RestApiResponse<QueryMarginAccountsOcoResponse>> {\n        return this.tradeApi.queryMarginAccountsOco(requestParameters);\n    }\n\n    /**\n     * Query Margin Account's Open OCO\n     *\n     * Weight: 5\n     *\n     * @summary Query Margin Account\\'s Open OCO (USER_DATA)\n     * @param {QueryMarginAccountsOpenOcoRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<QueryMarginAccountsOpenOcoResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Margin-Account-Open-OCO Binance API Documentation}\n     */\n    queryMarginAccountsOpenOco(\n        requestParameters: QueryMarginAccountsOpenOcoRequest = {}\n    ): Promise<RestApiResponse<QueryMarginAccountsOpenOcoResponse>> {\n        return this.tradeApi.queryMarginAccountsOpenOco(requestParameters);\n    }\n\n    /**\n     * Get all algo orders; ACTIVE, CANCELED, TRIGGERED or FINISHED .\n     *\n     * If `algoId` is set, it will get orders >= that `algoId`. Otherwise most recent orders are returned.\n     * The query time period must be less then 7 days( default as the recent 7 days).\n     *\n     * Weight: 5\n     *\n     * @summary Query UM Algo Order History (USER_DATA)\n     * @param {QueryUmAlgoOrderHistoryRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<QueryUmAlgoOrderHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-UM-Algo-Order-History Binance API Documentation}\n     */\n    queryUmAlgoOrderHistory(\n        requestParameters: QueryUmAlgoOrderHistoryRequest\n    ): Promise<RestApiResponse<QueryUmAlgoOrderHistoryResponse>> {\n        return this.tradeApi.queryUmAlgoOrderHistory(requestParameters);\n    }\n\n    /**\n     * Query UM Conditional Order History\n     *\n     * Either `strategyId` or `newClientStrategyId` must be sent.\n     * `NEW` orders will not be found.\n     * These orders will not be found:\n     * order status is `CANCELED` or `EXPIRED`, **AND**\n     * order has NO filled trade, **AND**\n     * created time + 7 days < current time\n     *\n     * Weight: 1\n     *\n     * @summary Query UM Conditional Order History\n     * @param {QueryUmConditionalOrderHistoryRequest} requestParameters Request parameters.\n     * @deprecated\n     * @returns {Promise<RestApiResponse<QueryUmConditionalOrderHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-UM-Conditional-Order-History Binance API Documentation}\n     */\n    queryUmConditionalOrderHistory(\n        requestParameters: QueryUmConditionalOrderHistoryRequest\n    ): Promise<RestApiResponse<QueryUmConditionalOrderHistoryResponse>> {\n        return this.tradeApi.queryUmConditionalOrderHistory(requestParameters);\n    }\n\n    /**\n     * Get order modification history\n     *\n     * Either `orderId` or `origClientOrderId` must be sent, and the `orderId` will prevail if both are sent.\n     *\n     * Weight: 1\n     *\n     * @summary Query UM Modify Order History(TRADE)\n     * @param {QueryUmModifyOrderHistoryRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<QueryUmModifyOrderHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-UM-Modify-Order-History Binance API Documentation}\n     */\n    queryUmModifyOrderHistory(\n        requestParameters: QueryUmModifyOrderHistoryRequest\n    ): Promise<RestApiResponse<QueryUmModifyOrderHistoryResponse>> {\n        return this.tradeApi.queryUmModifyOrderHistory(requestParameters);\n    }\n\n    /**\n     * Check an UM order's status.\n     *\n     * These orders will not be found:\n     * Either `orderId` or `origClientOrderId` must be sent.\n     * order status is `CANCELED` or `EXPIRED`, **AND**\n     * order has NO filled trade, **AND**\n     * created time + 3 days < current time\n     *\n     * Weight: 1\n     *\n     * @summary Query UM Order (USER_DATA)\n     * @param {QueryUmOrderRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<QueryUmOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-UM-Order Binance API Documentation}\n     */\n    queryUmOrder(\n        requestParameters: QueryUmOrderRequest\n    ): Promise<RestApiResponse<QueryUmOrderResponse>> {\n        return this.tradeApi.queryUmOrder(requestParameters);\n    }\n\n    /**\n     * Query User's CM Force Orders\n     *\n     * If \"autoCloseType\" is not sent, orders with both of the types will be returned\n     * If \"startTime\" is not sent, data within 7 days before \"endTime\" can be queried\n     * Only support querying data in the past 90 days\n     *\n     * Weight: 20 with symbol, 50 without symbol\n     *\n     * @summary Query User\\'s CM Force Orders(USER_DATA)\n     * @param {QueryUsersCmForceOrdersRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<QueryUsersCmForceOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Users-CM-Force-Orders Binance API Documentation}\n     */\n    queryUsersCmForceOrders(\n        requestParameters: QueryUsersCmForceOrdersRequest = {}\n    ): Promise<RestApiResponse<QueryUsersCmForceOrdersResponse>> {\n        return this.tradeApi.queryUsersCmForceOrders(requestParameters);\n    }\n\n    /**\n     * Query user's margin force orders\n     *\n     * Weight: 1\n     *\n     * @summary Query User\\'s Margin Force Orders(USER_DATA)\n     * @param {QueryUsersMarginForceOrdersRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<QueryUsersMarginForceOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Users-Margin-Force-Orders Binance API Documentation}\n     */\n    queryUsersMarginForceOrders(\n        requestParameters: QueryUsersMarginForceOrdersRequest = {}\n    ): Promise<RestApiResponse<QueryUsersMarginForceOrdersResponse>> {\n        return this.tradeApi.queryUsersMarginForceOrders(requestParameters);\n    }\n\n    /**\n     * Query User's UM Force Orders\n     *\n     * If `autoCloseType` is not sent, orders with both of the types will be returned\n     * If `startTime` is not sent, data within 7 days before `endTime` can be queried\n     * Only support querying data in the past 90 days\n     *\n     * Weight: 20 with symbol, 50 without symbol\n     *\n     * @summary Query User\\'s UM Force Orders (USER_DATA)\n     * @param {QueryUsersUmForceOrdersRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<QueryUsersUmForceOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Users-UM-Force-Orders Binance API Documentation}\n     */\n    queryUsersUmForceOrders(\n        requestParameters: QueryUsersUmForceOrdersRequest = {}\n    ): Promise<RestApiResponse<QueryUsersUmForceOrdersResponse>> {\n        return this.tradeApi.queryUsersUmForceOrders(requestParameters);\n    }\n\n    /**\n     * Change user's BNB Fee Discount for UM Futures (Fee Discount On or Fee Discount Off ) on ***EVERY symbol***\n     *\n     *\n     * The BNB would not be collected from UM-PM account to the Portfolio Margin account.\n     *\n     * Weight: 1\n     *\n     * @summary Toggle BNB Burn On UM Futures Trade (TRADE)\n     * @param {ToggleBnbBurnOnUmFuturesTradeRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<ToggleBnbBurnOnUmFuturesTradeResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Toggle-BNB-Burn-On-UM-Futures-Trade Binance API Documentation}\n     */\n    toggleBnbBurnOnUmFuturesTrade(\n        requestParameters: ToggleBnbBurnOnUmFuturesTradeRequest\n    ): Promise<RestApiResponse<ToggleBnbBurnOnUmFuturesTradeResponse>> {\n        return this.tradeApi.toggleBnbBurnOnUmFuturesTrade(requestParameters);\n    }\n\n    /**\n     * Get trades for a specific account and UM symbol.\n     *\n     *\n     * If `startTime` and `endTime` are both not sent, then the last '7 days' data will be returned.\n     * The time between `startTime` and `endTime` cannot be longer than 7 days.\n     * The parameter `fromId` cannot be sent with `startTime` or `endTime`.\n     *\n     * Weight: 5\n     *\n     * @summary UM Account Trade List(USER_DATA)\n     * @param {UmAccountTradeListRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<UmAccountTradeListResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/UM-Account-Trade-List Binance API Documentation}\n     */\n    umAccountTradeList(\n        requestParameters: UmAccountTradeListRequest\n    ): Promise<RestApiResponse<UmAccountTradeListResponse>> {\n        return this.tradeApi.umAccountTradeList(requestParameters);\n    }\n\n    /**\n     * Query UM Position ADL Quantile Estimation\n     *\n     * Values update every 30s.\n     * Values 0, 1, 2, 3, 4 shows the queue position and possibility of ADL from low to high.\n     * For positions of the symbol are in One-way Mode or isolated margined in Hedge Mode, \"LONG\", \"SHORT\", and \"BOTH\" will be returned to show the positions' adl quantiles of different position sides.\n     * If the positions of the symbol are crossed margined in Hedge Mode:\n     * \"HEDGE\" as a sign will be returned instead of \"BOTH\";\n     * A same value caculated on unrealized pnls on long and short sides' positions will be shown for \"LONG\" and \"SHORT\" when there are positions in both of long and short sides.\n     *\n     * Weight: 5\n     *\n     * @summary UM Position ADL Quantile Estimation(USER_DATA)\n     * @param {UmPositionAdlQuantileEstimationRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<UmPositionAdlQuantileEstimationResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/UM-Position-ADL-Quantile-Estimation Binance API Documentation}\n     */\n    umPositionAdlQuantileEstimation(\n        requestParameters: UmPositionAdlQuantileEstimationRequest = {}\n    ): Promise<RestApiResponse<UmPositionAdlQuantileEstimationResponse>> {\n        return this.tradeApi.umPositionAdlQuantileEstimation(requestParameters);\n    }\n\n    /**\n     * Close out a user data stream.\n     *\n     * Weight: 1\n     *\n     * @summary Close User Data Stream(USER_STREAM)\n     *\n     * @returns {Promise<RestApiResponse<void>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/user-data-streams/Close-User-Data-Stream Binance API Documentation}\n     */\n    closeUserDataStream(): Promise<RestApiResponse<void>> {\n        return this.userDataStreamsApi.closeUserDataStream();\n    }\n\n    /**\n     * Keepalive a user data stream to prevent a time out. User data streams will close after 60 minutes. It's recommended to send a ping about every 60 minutes.\n     *\n     * Weight: 1\n     *\n     * @summary Keepalive User Data Stream (USER_STREAM)\n     *\n     * @returns {Promise<RestApiResponse<void>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/user-data-streams/Keepalive-User-Data-Stream Binance API Documentation}\n     */\n    keepaliveUserDataStream(): Promise<RestApiResponse<void>> {\n        return this.userDataStreamsApi.keepaliveUserDataStream();\n    }\n\n    /**\n     * Start a new user data stream. The stream will close after 60 minutes unless a keepalive is sent. If the account has an active `listenKey`, that `listenKey` will be returned and its validity will be extended for 60 minutes.\n     *\n     * Weight: 1\n     *\n     * @summary Start User Data Stream(USER_STREAM)\n     *\n     * @returns {Promise<RestApiResponse<StartUserDataStreamResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/user-data-streams/Start-User-Data-Stream Binance API Documentation}\n     */\n    startUserDataStream(): Promise<RestApiResponse<StartUserDataStreamResponse>> {\n        return this.userDataStreamsApi.startUserDataStream();\n    }\n}\n","/**\n * Binance Derivatives Trading Portfolio Margin REST API\n *\n * OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin REST API\n *\n * The version of the OpenAPI document: 1.0.0\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nexport * from './types';\nexport * from './modules';\nexport * from './rest-api';\n","/**\n * Binance Derivatives Trading Portfolio Margin WebSocket Market Streams\n *\n * OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin WebSocket Market Streams\n *\n * The version of the OpenAPI document: 1.0.0\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { WebsocketStreamsBase, WebsocketStream, createStreamHandler } from '@binance/common';\n\nimport type { UserDataStreamEventsResponse } from './types';\n\nexport class WebsocketStreamsConnection {\n    private websocketBase: WebsocketStreamsBase;\n\n    constructor(websocketBase: WebsocketStreamsBase) {\n        this.websocketBase = websocketBase;\n    }\n\n    /**\n     * Adds an event listener for the specified WebSocket event.\n     * @param event - The WebSocket event to listen for, such as 'open', 'message', 'error', 'close', 'ping', or 'pong'.\n     * @param listener - The callback function to be executed when the event is triggered. The function can accept any number of arguments.\n     */\n    on(\n        event: 'open' | 'message' | 'error' | 'close' | 'ping' | 'pong',\n        // eslint-disable-next-line @typescript-eslint/no-explicit-any\n        listener: (...args: any[]) => void\n    ) {\n        this.websocketBase.on(event, listener);\n    }\n\n    /**\n     * Removes an event listener for the specified WebSocket event.\n     * @param event - The WebSocket event to stop listening for, such as 'open', 'message', 'error', 'close', 'ping', or 'pong'.\n     * @param listener - The callback function that was previously added as the event listener.\n     */\n    off(\n        event: 'open' | 'message' | 'error' | 'close' | 'ping' | 'pong',\n        // eslint-disable-next-line @typescript-eslint/no-explicit-any\n        listener: (...args: any[]) => void\n    ) {\n        this.websocketBase.off(event, listener);\n    }\n\n    /**\n     * Disconnects from the WebSocket server.\n     * If there is no active connection, a warning is logged.\n     * Otherwise, all connections in the connection pool are closed gracefully,\n     * and a message is logged indicating that the connection has been disconnected.\n     * @returns A Promise that resolves when all connections have been closed.\n     * @throws Error if the WebSocket client is not set.\n     */\n    disconnect(): Promise<void> {\n        return this.websocketBase.disconnect();\n    }\n\n    /**\n     * Checks if the WebSocket connection is currently open.\n     * @returns `true` if the connection is open, `false` otherwise.\n     */\n    isConnected(): boolean {\n        return this.websocketBase.isConnected();\n    }\n\n    /**\n     * Sends a ping message to all connected Websocket servers in the pool.\n     * If no connections are ready, a warning is logged.\n     * For each active connection, the ping message is sent, and debug logs provide details.\n     * @throws Error if a Websocket client is not set for a connection.\n     */\n    pingServer(): void {\n        this.websocketBase.pingServer();\n    }\n\n    /**\n     * Subscribes to one or multiple WebSocket streams\n     * Handles both single and pool modes\n     * @param stream Single stream name or array of stream names to subscribe to\n     * @param id Optional subscription ID\n     * @returns void\n     */\n    subscribe(stream: string | string[], id?: string): void {\n        this.websocketBase.subscribe(stream, id);\n    }\n\n    /**\n     * Unsubscribes from one or multiple WebSocket streams\n     * Handles both single and pool modes\n     * @param stream Single stream name or array of stream names to unsubscribe from\n     * @param id Optional unsubscription ID\n     * @returns void\n     */\n    unsubscribe(stream: string | string[], id?: string): void {\n        this.websocketBase.unsubscribe(stream, id);\n    }\n\n    /**\n     * Checks if the WebSocket connection is subscribed to the specified stream.\n     * @param stream The name of the WebSocket stream to check.\n     * @returns `true` if the connection is subscribed to the stream, `false` otherwise.\n     */\n    isSubscribed(stream: string): boolean {\n        return this.websocketBase.isSubscribed(stream);\n    }\n\n    /**\n     * Subscribes to the user data WebSocket stream using the provided listen key.\n     * @param listenKey - The listen key for the user data WebSocket stream.\n     * @param id - Optional user data stream ID\n     * @returns A WebSocket stream handler for the user data stream.\n     */\n    userData(listenKey: string, id?: string): WebsocketStream<UserDataStreamEventsResponse> {\n        return createStreamHandler<UserDataStreamEventsResponse>(this.websocketBase, listenKey, id);\n    }\n}\n","/**\n * Binance Derivatives Trading Portfolio Margin WebSocket Market Streams\n *\n * OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin WebSocket Market Streams\n *\n * The version of the OpenAPI document: 1.0.0\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { ConfigurationWebsocketStreams, WebsocketStreamsBase } from '@binance/common';\nimport { WebsocketStreamsConnection } from './websocket-streams-connection';\n\nexport class WebsocketStreams {\n    private configuration: ConfigurationWebsocketStreams;\n\n    constructor(configuration: ConfigurationWebsocketStreams) {\n        this.configuration = configuration;\n    }\n\n    /**\n     * Connects to the Binance WebSocket streams and returns a `WebsocketStreamsConnection` instance.\n     *\n     * @param {object} [options] - Optional connection options.\n     * @param {string|string[]} [options.stream] - The stream(s) to connect to.\n     * @param {'single'|'pool'} [options.mode] - The connection mode, either 'single' or 'pool'. Overwrite the `mode` option in the configuration.\n     * @param {number} [options.poolSize] - The number of connections to use in pool mode. Overwrite the `poolSize` option in the configuration.\n     * @returns {Promise<WebsocketStreamsConnection>} - A promise that resolves to a `WebsocketStreamsConnection` instance.\n     */\n    async connect({\n        stream,\n        mode,\n        poolSize,\n    }: {\n        stream?: string | string[];\n        mode?: 'single' | 'pool';\n        poolSize?: number;\n    } = {}): Promise<WebsocketStreamsConnection> {\n        const websocketBase = new WebsocketStreamsBase({\n            ...this.configuration,\n            ...(mode && { mode }),\n            ...(poolSize && { poolSize }),\n        });\n\n        const websocketStreamsConnection = new WebsocketStreamsConnection(websocketBase);\n        await websocketBase.connect(stream);\n        return websocketStreamsConnection;\n    }\n}\n","/**\n * Binance Derivatives Trading Portfolio Margin WebSocket Market Streams\n *\n * OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin WebSocket Market Streams\n *\n * The version of the OpenAPI document: 1.0.0\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nexport * from './types';\n\nexport * from './websocket-streams';\nexport * from './websocket-streams-connection';\n","import {\n    buildUserAgent,\n    ConfigurationRestAPI,\n    ConfigurationWebsocketStreams,\n    DERIVATIVES_TRADING_PORTFOLIO_MARGIN_REST_API_PROD_URL,\n    DERIVATIVES_TRADING_PORTFOLIO_MARGIN_WS_STREAMS_PROD_URL,\n} from '@binance/common';\nimport { name, version } from '../package.json';\nimport { RestAPI } from './rest-api';\n\nimport { WebsocketStreams } from './websocket-streams';\n\nexport interface ConfigurationDerivativesTradingPortfolioMargin {\n    configurationRestAPI?: ConfigurationRestAPI;\n\n    configurationWebsocketStreams?: ConfigurationWebsocketStreams;\n}\n\nexport class DerivativesTradingPortfolioMargin {\n    public restAPI!: RestAPI;\n\n    public websocketStreams!: WebsocketStreams;\n\n    constructor(config: ConfigurationDerivativesTradingPortfolioMargin) {\n        const userAgent = buildUserAgent(name, version);\n\n        if (config?.configurationRestAPI) {\n            const configRestAPI = new ConfigurationRestAPI(\n                config.configurationRestAPI\n            ) as ConfigurationRestAPI & {\n                baseOptions: Record<string, unknown>;\n            };\n            configRestAPI.basePath =\n                configRestAPI.basePath || DERIVATIVES_TRADING_PORTFOLIO_MARGIN_REST_API_PROD_URL;\n            configRestAPI.baseOptions = configRestAPI.baseOptions || {};\n            configRestAPI.baseOptions.headers = {\n                ...(configRestAPI.baseOptions.headers || {}),\n                'User-Agent': userAgent,\n            };\n            this.restAPI = new RestAPI(configRestAPI);\n        }\n        if (config?.configurationWebsocketStreams) {\n            const configWebsocketStreams = new ConfigurationWebsocketStreams(\n                config.configurationWebsocketStreams\n            ) as ConfigurationWebsocketStreams & {\n                userAgent: string;\n            };\n            configWebsocketStreams.wsURL =\n                configWebsocketStreams.wsURL ||\n                DERIVATIVES_TRADING_PORTFOLIO_MARGIN_WS_STREAMS_PROD_URL;\n            configWebsocketStreams.userAgent = userAgent;\n            this.websocketStreams = new WebsocketStreams(configWebsocketStreams);\n        }\n    }\n}\n"],"mappings":"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"}