{"version":3,"file":"index.mjs","names":["localVarQueryParameter: Record<string, unknown>","localVarBodyParameter: Record<string, unknown>","localVarHeaderParameter: Record<string, unknown>","_timeUnit: TimeUnit | undefined","localVarQueryParameter: Record<string, unknown>","localVarBodyParameter: Record<string, unknown>","localVarHeaderParameter: Record<string, unknown>","_timeUnit: TimeUnit | undefined","DERIVATIVES_TRADING_PORTFOLIO_MARGIN_PRO_REST_API_PROD_URL","DERIVATIVES_TRADING_PORTFOLIO_MARGIN_PRO_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/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-pro.ts"],"sourcesContent":["{\n    \"name\": \"@binance/derivatives-trading-portfolio-margin-pro\",\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.4\",\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.4.1\",\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 Pro REST API\n *\n * OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin Pro 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    BnbTransferResponse,\n    ChangeAutoRepayFuturesStatusResponse,\n    DeleteMarginCallLevelResponse,\n    FundAutoCollectionResponse,\n    FundCollectionByAssetResponse,\n    GetAutoRepayFuturesStatusResponse,\n    GetDeltaModeStatusResponse,\n    GetMarginCallLevelResponse,\n    GetPortfolioMarginProAccountBalanceResponse,\n    GetPortfolioMarginProAccountInfoResponse,\n    GetPortfolioMarginProSpanAccountInfoResponse,\n    GetTransferableEarnAssetBalanceForPortfolioMarginResponse,\n    PortfolioMarginProBankruptcyLoanRepayResponse,\n    QueryPortfolioMarginProBankruptcyLoanAmountResponse,\n    QueryPortfolioMarginProBankruptcyLoanRepayHistoryResponse,\n    QueryPortfolioMarginProNegativeBalanceInterestHistoryResponse,\n    RepayFuturesNegativeBalanceResponse,\n    SetMarginCallLevelResponse,\n    SwitchDeltaModeResponse,\n    TransferLdusdtRwusdForPortfolioMarginResponse,\n} from '../types';\n\n/**\n * AccountApi - axios parameter creator\n */\nconst AccountApiAxiosParamCreator = function (configuration: ConfigurationRestAPI) {\n    return {\n        /**\n         * BNB transfer can be between Margin Account and USDM Account\n         *\n         *\n         * You can only use this function 2 times per 10 minutes in a rolling manner\n         *\n         * Weight: 1500\n         *\n         * @summary BNB transfer(USER_DATA)\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            const localVarHeaderParameter: 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: '/sapi/v1/portfolio/bnb-transfer',\n                method: 'POST',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                headerParams: localVarHeaderParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Change Auto-repay-futures Status\n         *\n         * Weight: 1500\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            const localVarHeaderParameter: 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: '/sapi/v1/portfolio/repay-futures-switch',\n                method: 'POST',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                headerParams: localVarHeaderParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Delete the margin call level for a Portfolio Margin account.\n         *\n         * Weight: 1500\n         *\n         * @summary Delete Margin Call Level (USER_DATA)\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        deleteMarginCallLevel: async (recvWindow?: number | bigint): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n            const localVarHeaderParameter: 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: '/sapi/v1/portfolio/margin-call-level',\n                method: 'DELETE',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                headerParams: localVarHeaderParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Transfers all assets from Futures Account to Margin account\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: 1500\n         *\n         * @summary Fund Auto-collection(USER_DATA)\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            const localVarHeaderParameter: 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: '/sapi/v1/portfolio/auto-collection',\n                method: 'POST',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                headerParams: localVarHeaderParameter,\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: 60\n         *\n         * @summary Fund Collection by Asset(USER_DATA)\n         * @param {string} asset `LDUSDT` and `RWUSD`\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            const localVarHeaderParameter: 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: '/sapi/v1/portfolio/asset-collection',\n                method: 'POST',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                headerParams: localVarHeaderParameter,\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            const localVarHeaderParameter: 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: '/sapi/v1/portfolio/repay-futures-switch',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                headerParams: localVarHeaderParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query the Delta mode status of current account.\n         *\n         * Weight: 1500\n         *\n         * @summary Get Delta Mode Status(USER_DATA)\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getDeltaModeStatus: async (recvWindow?: number | bigint): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n            const localVarHeaderParameter: 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: '/sapi/v1/portfolio/delta-mode',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                headerParams: localVarHeaderParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get the margin call level for a Portfolio Margin account.\n         *\n         * Weight: 1500\n         *\n         * @summary Get Margin Call Level (USER_DATA)\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getMarginCallLevel: async (recvWindow?: number | bigint): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n            const localVarHeaderParameter: 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: '/sapi/v1/portfolio/margin-call-level',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                headerParams: localVarHeaderParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query Portfolio Margin Pro account balance\n         *\n         * Weight: 20\n         *\n         * @summary Get Portfolio Margin Pro Account Balance(USER_DATA)\n         * @param {string} [asset]\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getPortfolioMarginProAccountBalance: async (\n            asset?: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n            const localVarHeaderParameter: 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: '/sapi/v1/portfolio/balance',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                headerParams: localVarHeaderParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get Portfolio Margin Pro Account Info\n         *\n         * Weight: 5\n         *\n         * @summary Get Portfolio Margin Pro Account Info(USER_DATA)\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getPortfolioMarginProAccountInfo: async (\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n            const localVarHeaderParameter: 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: '/sapi/v1/portfolio/account',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                headerParams: localVarHeaderParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get Portfolio Margin Pro SPAN Account Info (For Portfolio Margin Pro SPAN users only)\n         *\n         * Weight: 5\n         *\n         * @summary Get Portfolio Margin Pro SPAN Account Info(USER_DATA)\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getPortfolioMarginProSpanAccountInfo: async (\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n            const localVarHeaderParameter: 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: '/sapi/v2/portfolio/account',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                headerParams: localVarHeaderParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get transferable earn asset balance for all types of Portfolio Margin account\n         *\n         * Weight: 1500\n         *\n         * @summary Get Transferable Earn Asset Balance for Portfolio Margin (USER_DATA)\n         * @param {string} asset `LDUSDT` and `RWUSD`\n         * @param {string} transferType `EARN_TO_FUTURE` /`FUTURE_TO_EARN`\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getTransferableEarnAssetBalanceForPortfolioMargin: async (\n            asset: string,\n            transferType: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'asset' is not null or undefined\n            assertParamExists('getTransferableEarnAssetBalanceForPortfolioMargin', 'asset', asset);\n            // verify required parameter 'transferType' is not null or undefined\n            assertParamExists(\n                'getTransferableEarnAssetBalanceForPortfolioMargin',\n                'transferType',\n                transferType\n            );\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n            const localVarHeaderParameter: Record<string, unknown> = {};\n\n            if (asset !== undefined && asset !== null) {\n                localVarQueryParameter['asset'] = asset;\n            }\n            if (transferType !== undefined && transferType !== null) {\n                localVarQueryParameter['transferType'] = transferType;\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: '/sapi/v1/portfolio/earn-asset-balance',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                headerParams: localVarHeaderParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Repay Portfolio Margin Pro Bankruptcy Loan\n         *\n         * Please note that the API Key has enabled Spot & Margin Trading permissions to access this endpoint.\n         *\n         * Weight: 3000\n         *\n         * @summary Portfolio Margin Pro Bankruptcy Loan Repay\n         * @param {string} [from] SPOT or MARGIN，default SPOT\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        portfolioMarginProBankruptcyLoanRepay: async (\n            from?: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n            const localVarHeaderParameter: Record<string, unknown> = {};\n\n            if (from !== undefined && from !== null) {\n                localVarQueryParameter['from'] = from;\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: '/sapi/v1/portfolio/repay',\n                method: 'POST',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                headerParams: localVarHeaderParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query Portfolio Margin Pro Bankruptcy Loan Amount\n         *\n         * If there’s no classic portfolio margin bankruptcy loan, the amount would be 0\n         *\n         * Weight: 500\n         *\n         * @summary Query Portfolio Margin Pro Bankruptcy Loan Amount(USER_DATA)\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryPortfolioMarginProBankruptcyLoanAmount: async (\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n            const localVarHeaderParameter: 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: '/sapi/v1/portfolio/pmLoan',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                headerParams: localVarHeaderParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query repay history of pmloan for portfolio margin pro.\n         *\n         * `startTime` and `endTime` cannot be longer than 360 days\n         * If `startTime` and `endTime` not sent, return records of the last 30 days by default.\n         * If `startTime`is sent and `endTime` is not sent, return records of [startTime, startTime+30d].\n         * If `startTime` is not sent and `endTime` is sent, return records of [endTime-30d, endTime].\n         *\n         * Weight: 500\n         *\n         * @summary Query Portfolio Margin Pro Bankruptcy Loan Repay History(USER_DATA)\n         * @param {number | bigint} [startTime]\n         * @param {number | bigint} [endTime]\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        queryPortfolioMarginProBankruptcyLoanRepayHistory: 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            const localVarHeaderParameter: 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: '/sapi/v1/portfolio/pmloan-history',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                headerParams: localVarHeaderParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query interest history of negative balance for portfolio margin.\n         *\n         * Weight: 50\n         *\n         * @summary Query Portfolio Margin Pro Negative Balance Interest History(USER_DATA)\n         * @param {string} [asset]\n         * @param {number | bigint} [startTime]\n         * @param {number | bigint} [endTime]\n         * @param {number | bigint} [size] Default:10 Max:100\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryPortfolioMarginProNegativeBalanceInterestHistory: 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            const localVarHeaderParameter: 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: '/sapi/v1/portfolio/interest-history',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                headerParams: localVarHeaderParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Repay futures Negative Balance\n         *\n         * Weight: 1500\n         *\n         * @summary Repay futures Negative Balance(USER_DATA)\n         * @param {string} [from] SPOT or MARGIN，default SPOT\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        repayFuturesNegativeBalance: async (\n            from?: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n            const localVarHeaderParameter: Record<string, unknown> = {};\n\n            if (from !== undefined && from !== null) {\n                localVarQueryParameter['from'] = from;\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: '/sapi/v1/portfolio/repay-futures-negative-balance',\n                method: 'POST',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                headerParams: localVarHeaderParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Set the margin call level for a Portfolio Margin account. When the account's uniMMR drops to the specified level, a notification will be sent via email and SMS.\n         *\n         * Weight: 1500\n         *\n         * @summary Set Margin Call Level (USER_DATA)\n         * @param {number} marginCallLevel The value of marginCallLevel must be within the range [1.1, 2.0].\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        setMarginCallLevel: async (\n            marginCallLevel: number,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'marginCallLevel' is not null or undefined\n            assertParamExists('setMarginCallLevel', 'marginCallLevel', marginCallLevel);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n            const localVarHeaderParameter: Record<string, unknown> = {};\n\n            if (marginCallLevel !== undefined && marginCallLevel !== null) {\n                localVarQueryParameter['marginCallLevel'] = marginCallLevel;\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: '/sapi/v1/portfolio/margin-call-level',\n                method: 'POST',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                headerParams: localVarHeaderParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Switch the Delta mode for existing PM PRO / PM RETAIL accounts.\n         *\n         * Weight: 1500\n         *\n         * @summary Switch Delta Mode(TRADE)\n         * @param {string} deltaEnabled `true` to enable Delta mode; `false` to disable Delta mode\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        switchDeltaMode: async (\n            deltaEnabled: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'deltaEnabled' is not null or undefined\n            assertParamExists('switchDeltaMode', 'deltaEnabled', deltaEnabled);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n            const localVarHeaderParameter: Record<string, unknown> = {};\n\n            if (deltaEnabled !== undefined && deltaEnabled !== null) {\n                localVarQueryParameter['deltaEnabled'] = deltaEnabled;\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: '/sapi/v1/portfolio/delta-mode',\n                method: 'POST',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                headerParams: localVarHeaderParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Transfer LDUSDT/RWUSD as collateral for all types of Portfolio Margin account\n         *\n         * Weight: 1500\n         *\n         * @summary Transfer LDUSDT/RWUSD for Portfolio Margin(TRADE)\n         * @param {string} asset `LDUSDT` and `RWUSD`\n         * @param {string} transferType `EARN_TO_FUTURE` /`FUTURE_TO_EARN`\n         * @param {number} amount\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        transferLdusdtRwusdForPortfolioMargin: async (\n            asset: string,\n            transferType: string,\n            amount: number,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'asset' is not null or undefined\n            assertParamExists('transferLdusdtRwusdForPortfolioMargin', 'asset', asset);\n            // verify required parameter 'transferType' is not null or undefined\n            assertParamExists(\n                'transferLdusdtRwusdForPortfolioMargin',\n                'transferType',\n                transferType\n            );\n            // verify required parameter 'amount' is not null or undefined\n            assertParamExists('transferLdusdtRwusdForPortfolioMargin', 'amount', amount);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n            const localVarHeaderParameter: Record<string, unknown> = {};\n\n            if (asset !== undefined && asset !== null) {\n                localVarQueryParameter['asset'] = asset;\n            }\n            if (transferType !== undefined && transferType !== null) {\n                localVarQueryParameter['transferType'] = transferType;\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: '/sapi/v1/portfolio/earn-asset-transfer',\n                method: 'POST',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                headerParams: localVarHeaderParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n    };\n};\n\n/**\n * AccountApi - interface\n * @interface AccountApi\n */\nexport interface AccountApiInterface {\n    /**\n     * BNB transfer can be between Margin Account and USDM Account\n     *\n     *\n     * You can only use this function 2 times per 10 minutes in a rolling manner\n     *\n     * Weight: 1500\n     *\n     * @summary BNB transfer(USER_DATA)\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: 1500\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     * Delete the margin call level for a Portfolio Margin account.\n     *\n     * Weight: 1500\n     *\n     * @summary Delete Margin Call Level (USER_DATA)\n     * @param {DeleteMarginCallLevelRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    deleteMarginCallLevel(\n        requestParameters?: DeleteMarginCallLevelRequest\n    ): Promise<RestApiResponse<DeleteMarginCallLevelResponse>>;\n    /**\n     * Transfers all assets from Futures Account to Margin account\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: 1500\n     *\n     * @summary Fund Auto-collection(USER_DATA)\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: 60\n     *\n     * @summary Fund Collection by Asset(USER_DATA)\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     * Query the Delta mode status of current account.\n     *\n     * Weight: 1500\n     *\n     * @summary Get Delta Mode Status(USER_DATA)\n     * @param {GetDeltaModeStatusRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    getDeltaModeStatus(\n        requestParameters?: GetDeltaModeStatusRequest\n    ): Promise<RestApiResponse<GetDeltaModeStatusResponse>>;\n    /**\n     * Get the margin call level for a Portfolio Margin account.\n     *\n     * Weight: 1500\n     *\n     * @summary Get Margin Call Level (USER_DATA)\n     * @param {GetMarginCallLevelRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    getMarginCallLevel(\n        requestParameters?: GetMarginCallLevelRequest\n    ): Promise<RestApiResponse<GetMarginCallLevelResponse>>;\n    /**\n     * Query Portfolio Margin Pro account balance\n     *\n     * Weight: 20\n     *\n     * @summary Get Portfolio Margin Pro Account Balance(USER_DATA)\n     * @param {GetPortfolioMarginProAccountBalanceRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    getPortfolioMarginProAccountBalance(\n        requestParameters?: GetPortfolioMarginProAccountBalanceRequest\n    ): Promise<RestApiResponse<GetPortfolioMarginProAccountBalanceResponse>>;\n    /**\n     * Get Portfolio Margin Pro Account Info\n     *\n     * Weight: 5\n     *\n     * @summary Get Portfolio Margin Pro Account Info(USER_DATA)\n     * @param {GetPortfolioMarginProAccountInfoRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    getPortfolioMarginProAccountInfo(\n        requestParameters?: GetPortfolioMarginProAccountInfoRequest\n    ): Promise<RestApiResponse<GetPortfolioMarginProAccountInfoResponse>>;\n    /**\n     * Get Portfolio Margin Pro SPAN Account Info (For Portfolio Margin Pro SPAN users only)\n     *\n     * Weight: 5\n     *\n     * @summary Get Portfolio Margin Pro SPAN Account Info(USER_DATA)\n     * @param {GetPortfolioMarginProSpanAccountInfoRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    getPortfolioMarginProSpanAccountInfo(\n        requestParameters?: GetPortfolioMarginProSpanAccountInfoRequest\n    ): Promise<RestApiResponse<GetPortfolioMarginProSpanAccountInfoResponse>>;\n    /**\n     * Get transferable earn asset balance for all types of Portfolio Margin account\n     *\n     * Weight: 1500\n     *\n     * @summary Get Transferable Earn Asset Balance for Portfolio Margin (USER_DATA)\n     * @param {GetTransferableEarnAssetBalanceForPortfolioMarginRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    getTransferableEarnAssetBalanceForPortfolioMargin(\n        requestParameters: GetTransferableEarnAssetBalanceForPortfolioMarginRequest\n    ): Promise<RestApiResponse<GetTransferableEarnAssetBalanceForPortfolioMarginResponse>>;\n    /**\n     * Repay Portfolio Margin Pro Bankruptcy Loan\n     *\n     * Please note that the API Key has enabled Spot & Margin Trading permissions to access this endpoint.\n     *\n     * Weight: 3000\n     *\n     * @summary Portfolio Margin Pro Bankruptcy Loan Repay\n     * @param {PortfolioMarginProBankruptcyLoanRepayRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    portfolioMarginProBankruptcyLoanRepay(\n        requestParameters?: PortfolioMarginProBankruptcyLoanRepayRequest\n    ): Promise<RestApiResponse<PortfolioMarginProBankruptcyLoanRepayResponse>>;\n    /**\n     * Query Portfolio Margin Pro Bankruptcy Loan Amount\n     *\n     * If there’s no classic portfolio margin bankruptcy loan, the amount would be 0\n     *\n     * Weight: 500\n     *\n     * @summary Query Portfolio Margin Pro Bankruptcy Loan Amount(USER_DATA)\n     * @param {QueryPortfolioMarginProBankruptcyLoanAmountRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    queryPortfolioMarginProBankruptcyLoanAmount(\n        requestParameters?: QueryPortfolioMarginProBankruptcyLoanAmountRequest\n    ): Promise<RestApiResponse<QueryPortfolioMarginProBankruptcyLoanAmountResponse>>;\n    /**\n     * Query repay history of pmloan for portfolio margin pro.\n     *\n     * `startTime` and `endTime` cannot be longer than 360 days\n     * If `startTime` and `endTime` not sent, return records of the last 30 days by default.\n     * If `startTime`is sent and `endTime` is not sent, return records of [startTime, startTime+30d].\n     * If `startTime` is not sent and `endTime` is sent, return records of [endTime-30d, endTime].\n     *\n     * Weight: 500\n     *\n     * @summary Query Portfolio Margin Pro Bankruptcy Loan Repay History(USER_DATA)\n     * @param {QueryPortfolioMarginProBankruptcyLoanRepayHistoryRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    queryPortfolioMarginProBankruptcyLoanRepayHistory(\n        requestParameters?: QueryPortfolioMarginProBankruptcyLoanRepayHistoryRequest\n    ): Promise<RestApiResponse<QueryPortfolioMarginProBankruptcyLoanRepayHistoryResponse>>;\n    /**\n     * Query interest history of negative balance for portfolio margin.\n     *\n     * Weight: 50\n     *\n     * @summary Query Portfolio Margin Pro Negative Balance Interest History(USER_DATA)\n     * @param {QueryPortfolioMarginProNegativeBalanceInterestHistoryRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    queryPortfolioMarginProNegativeBalanceInterestHistory(\n        requestParameters?: QueryPortfolioMarginProNegativeBalanceInterestHistoryRequest\n    ): Promise<RestApiResponse<QueryPortfolioMarginProNegativeBalanceInterestHistoryResponse>>;\n    /**\n     * Repay futures Negative Balance\n     *\n     * Weight: 1500\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     * Set the margin call level for a Portfolio Margin account. When the account's uniMMR drops to the specified level, a notification will be sent via email and SMS.\n     *\n     * Weight: 1500\n     *\n     * @summary Set Margin Call Level (USER_DATA)\n     * @param {SetMarginCallLevelRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    setMarginCallLevel(\n        requestParameters: SetMarginCallLevelRequest\n    ): Promise<RestApiResponse<SetMarginCallLevelResponse>>;\n    /**\n     * Switch the Delta mode for existing PM PRO / PM RETAIL accounts.\n     *\n     * Weight: 1500\n     *\n     * @summary Switch Delta Mode(TRADE)\n     * @param {SwitchDeltaModeRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    switchDeltaMode(\n        requestParameters: SwitchDeltaModeRequest\n    ): Promise<RestApiResponse<SwitchDeltaModeResponse>>;\n    /**\n     * Transfer LDUSDT/RWUSD as collateral for all types of Portfolio Margin account\n     *\n     * Weight: 1500\n     *\n     * @summary Transfer LDUSDT/RWUSD for Portfolio Margin(TRADE)\n     * @param {TransferLdusdtRwusdForPortfolioMarginRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    transferLdusdtRwusdForPortfolioMargin(\n        requestParameters: TransferLdusdtRwusdForPortfolioMarginRequest\n    ): Promise<RestApiResponse<TransferLdusdtRwusdForPortfolioMarginResponse>>;\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 deleteMarginCallLevel operation in AccountApi.\n * @interface DeleteMarginCallLevelRequest\n */\nexport interface DeleteMarginCallLevelRequest {\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiDeleteMarginCallLevel\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     * `LDUSDT` and `RWUSD`\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 getDeltaModeStatus operation in AccountApi.\n * @interface GetDeltaModeStatusRequest\n */\nexport interface GetDeltaModeStatusRequest {\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiGetDeltaModeStatus\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for getMarginCallLevel operation in AccountApi.\n * @interface GetMarginCallLevelRequest\n */\nexport interface GetMarginCallLevelRequest {\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiGetMarginCallLevel\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for getPortfolioMarginProAccountBalance operation in AccountApi.\n * @interface GetPortfolioMarginProAccountBalanceRequest\n */\nexport interface GetPortfolioMarginProAccountBalanceRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof AccountApiGetPortfolioMarginProAccountBalance\n     */\n    readonly asset?: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiGetPortfolioMarginProAccountBalance\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for getPortfolioMarginProAccountInfo operation in AccountApi.\n * @interface GetPortfolioMarginProAccountInfoRequest\n */\nexport interface GetPortfolioMarginProAccountInfoRequest {\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiGetPortfolioMarginProAccountInfo\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for getPortfolioMarginProSpanAccountInfo operation in AccountApi.\n * @interface GetPortfolioMarginProSpanAccountInfoRequest\n */\nexport interface GetPortfolioMarginProSpanAccountInfoRequest {\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiGetPortfolioMarginProSpanAccountInfo\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for getTransferableEarnAssetBalanceForPortfolioMargin operation in AccountApi.\n * @interface GetTransferableEarnAssetBalanceForPortfolioMarginRequest\n */\nexport interface GetTransferableEarnAssetBalanceForPortfolioMarginRequest {\n    /**\n     * `LDUSDT` and `RWUSD`\n     * @type {string}\n     * @memberof AccountApiGetTransferableEarnAssetBalanceForPortfolioMargin\n     */\n    readonly asset: string;\n\n    /**\n     * `EARN_TO_FUTURE` /`FUTURE_TO_EARN`\n     * @type {string}\n     * @memberof AccountApiGetTransferableEarnAssetBalanceForPortfolioMargin\n     */\n    readonly transferType: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiGetTransferableEarnAssetBalanceForPortfolioMargin\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for portfolioMarginProBankruptcyLoanRepay operation in AccountApi.\n * @interface PortfolioMarginProBankruptcyLoanRepayRequest\n */\nexport interface PortfolioMarginProBankruptcyLoanRepayRequest {\n    /**\n     * SPOT or MARGIN，default SPOT\n     * @type {string}\n     * @memberof AccountApiPortfolioMarginProBankruptcyLoanRepay\n     */\n    readonly from?: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiPortfolioMarginProBankruptcyLoanRepay\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for queryPortfolioMarginProBankruptcyLoanAmount operation in AccountApi.\n * @interface QueryPortfolioMarginProBankruptcyLoanAmountRequest\n */\nexport interface QueryPortfolioMarginProBankruptcyLoanAmountRequest {\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiQueryPortfolioMarginProBankruptcyLoanAmount\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for queryPortfolioMarginProBankruptcyLoanRepayHistory operation in AccountApi.\n * @interface QueryPortfolioMarginProBankruptcyLoanRepayHistoryRequest\n */\nexport interface QueryPortfolioMarginProBankruptcyLoanRepayHistoryRequest {\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiQueryPortfolioMarginProBankruptcyLoanRepayHistory\n     */\n    readonly startTime?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiQueryPortfolioMarginProBankruptcyLoanRepayHistory\n     */\n    readonly endTime?: number | bigint;\n\n    /**\n     * Currently querying page. Start from 1. Default:1\n     * @type {number | bigint}\n     * @memberof AccountApiQueryPortfolioMarginProBankruptcyLoanRepayHistory\n     */\n    readonly current?: number | bigint;\n\n    /**\n     * Default:10 Max:100\n     * @type {number | bigint}\n     * @memberof AccountApiQueryPortfolioMarginProBankruptcyLoanRepayHistory\n     */\n    readonly size?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiQueryPortfolioMarginProBankruptcyLoanRepayHistory\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for queryPortfolioMarginProNegativeBalanceInterestHistory operation in AccountApi.\n * @interface QueryPortfolioMarginProNegativeBalanceInterestHistoryRequest\n */\nexport interface QueryPortfolioMarginProNegativeBalanceInterestHistoryRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof AccountApiQueryPortfolioMarginProNegativeBalanceInterestHistory\n     */\n    readonly asset?: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiQueryPortfolioMarginProNegativeBalanceInterestHistory\n     */\n    readonly startTime?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiQueryPortfolioMarginProNegativeBalanceInterestHistory\n     */\n    readonly endTime?: number | bigint;\n\n    /**\n     * Default:10 Max:100\n     * @type {number | bigint}\n     * @memberof AccountApiQueryPortfolioMarginProNegativeBalanceInterestHistory\n     */\n    readonly size?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiQueryPortfolioMarginProNegativeBalanceInterestHistory\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     * SPOT or MARGIN，default SPOT\n     * @type {string}\n     * @memberof AccountApiRepayFuturesNegativeBalance\n     */\n    readonly from?: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiRepayFuturesNegativeBalance\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for setMarginCallLevel operation in AccountApi.\n * @interface SetMarginCallLevelRequest\n */\nexport interface SetMarginCallLevelRequest {\n    /**\n     * The value of marginCallLevel must be within the range [1.1, 2.0].\n     * @type {number}\n     * @memberof AccountApiSetMarginCallLevel\n     */\n    readonly marginCallLevel: number;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiSetMarginCallLevel\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for switchDeltaMode operation in AccountApi.\n * @interface SwitchDeltaModeRequest\n */\nexport interface SwitchDeltaModeRequest {\n    /**\n     * `true` to enable Delta mode; `false` to disable Delta mode\n     * @type {string}\n     * @memberof AccountApiSwitchDeltaMode\n     */\n    readonly deltaEnabled: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiSwitchDeltaMode\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for transferLdusdtRwusdForPortfolioMargin operation in AccountApi.\n * @interface TransferLdusdtRwusdForPortfolioMarginRequest\n */\nexport interface TransferLdusdtRwusdForPortfolioMarginRequest {\n    /**\n     * `LDUSDT` and `RWUSD`\n     * @type {string}\n     * @memberof AccountApiTransferLdusdtRwusdForPortfolioMargin\n     */\n    readonly asset: string;\n\n    /**\n     * `EARN_TO_FUTURE` /`FUTURE_TO_EARN`\n     * @type {string}\n     * @memberof AccountApiTransferLdusdtRwusdForPortfolioMargin\n     */\n    readonly transferType: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiTransferLdusdtRwusdForPortfolioMargin\n     */\n    readonly amount: number;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof AccountApiTransferLdusdtRwusdForPortfolioMargin\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     * BNB transfer can be between Margin Account and USDM Account\n     *\n     *\n     * You can only use this function 2 times per 10 minutes in a rolling manner\n     *\n     * Weight: 1500\n     *\n     * @summary BNB transfer(USER_DATA)\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-pro/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.headerParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Change Auto-repay-futures Status\n     *\n     * Weight: 1500\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-pro/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.headerParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Delete the margin call level for a Portfolio Margin account.\n     *\n     * Weight: 1500\n     *\n     * @summary Delete Margin Call Level (USER_DATA)\n     * @param {DeleteMarginCallLevelRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<DeleteMarginCallLevelResponse>>}\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-pro/account/Delete-Margin-Call-Level Binance API Documentation}\n     */\n    public async deleteMarginCallLevel(\n        requestParameters: DeleteMarginCallLevelRequest = {}\n    ): Promise<RestApiResponse<DeleteMarginCallLevelResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.deleteMarginCallLevel(\n            requestParameters?.recvWindow\n        );\n        return sendRequest<DeleteMarginCallLevelResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs.headerParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Transfers all assets from Futures Account to Margin account\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: 1500\n     *\n     * @summary Fund Auto-collection(USER_DATA)\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-pro/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.headerParams,\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: 60\n     *\n     * @summary Fund Collection by Asset(USER_DATA)\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-pro/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.headerParams,\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-pro/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.headerParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query the Delta mode status of current account.\n     *\n     * Weight: 1500\n     *\n     * @summary Get Delta Mode Status(USER_DATA)\n     * @param {GetDeltaModeStatusRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetDeltaModeStatusResponse>>}\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-pro/account/Get-Delta-Mode-Status Binance API Documentation}\n     */\n    public async getDeltaModeStatus(\n        requestParameters: GetDeltaModeStatusRequest = {}\n    ): Promise<RestApiResponse<GetDeltaModeStatusResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getDeltaModeStatus(\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetDeltaModeStatusResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs.headerParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get the margin call level for a Portfolio Margin account.\n     *\n     * Weight: 1500\n     *\n     * @summary Get Margin Call Level (USER_DATA)\n     * @param {GetMarginCallLevelRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetMarginCallLevelResponse>>}\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-pro/account/Get-Margin-Call-Level Binance API Documentation}\n     */\n    public async getMarginCallLevel(\n        requestParameters: GetMarginCallLevelRequest = {}\n    ): Promise<RestApiResponse<GetMarginCallLevelResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getMarginCallLevel(\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetMarginCallLevelResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs.headerParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query Portfolio Margin Pro account balance\n     *\n     * Weight: 20\n     *\n     * @summary Get Portfolio Margin Pro Account Balance(USER_DATA)\n     * @param {GetPortfolioMarginProAccountBalanceRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetPortfolioMarginProAccountBalanceResponse>>}\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-pro/account/Get-Classic-Portfolio-Margin-Balance-Info Binance API Documentation}\n     */\n    public async getPortfolioMarginProAccountBalance(\n        requestParameters: GetPortfolioMarginProAccountBalanceRequest = {}\n    ): Promise<RestApiResponse<GetPortfolioMarginProAccountBalanceResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.getPortfolioMarginProAccountBalance(\n                requestParameters?.asset,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<GetPortfolioMarginProAccountBalanceResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs.headerParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get Portfolio Margin Pro Account Info\n     *\n     * Weight: 5\n     *\n     * @summary Get Portfolio Margin Pro Account Info(USER_DATA)\n     * @param {GetPortfolioMarginProAccountInfoRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetPortfolioMarginProAccountInfoResponse>>}\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-pro/account/Get-Classic-Portfolio-Margin-Account-Info Binance API Documentation}\n     */\n    public async getPortfolioMarginProAccountInfo(\n        requestParameters: GetPortfolioMarginProAccountInfoRequest = {}\n    ): Promise<RestApiResponse<GetPortfolioMarginProAccountInfoResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.getPortfolioMarginProAccountInfo(\n                requestParameters?.recvWindow\n            );\n        return sendRequest<GetPortfolioMarginProAccountInfoResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs.headerParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get Portfolio Margin Pro SPAN Account Info (For Portfolio Margin Pro SPAN users only)\n     *\n     * Weight: 5\n     *\n     * @summary Get Portfolio Margin Pro SPAN Account Info(USER_DATA)\n     * @param {GetPortfolioMarginProSpanAccountInfoRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetPortfolioMarginProSpanAccountInfoResponse>>}\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-pro/account/Get-Classic-Portfolio-Margin-Account-Info-V2 Binance API Documentation}\n     */\n    public async getPortfolioMarginProSpanAccountInfo(\n        requestParameters: GetPortfolioMarginProSpanAccountInfoRequest = {}\n    ): Promise<RestApiResponse<GetPortfolioMarginProSpanAccountInfoResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.getPortfolioMarginProSpanAccountInfo(\n                requestParameters?.recvWindow\n            );\n        return sendRequest<GetPortfolioMarginProSpanAccountInfoResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs.headerParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get transferable earn asset balance for all types of Portfolio Margin account\n     *\n     * Weight: 1500\n     *\n     * @summary Get Transferable Earn Asset Balance for Portfolio Margin (USER_DATA)\n     * @param {GetTransferableEarnAssetBalanceForPortfolioMarginRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetTransferableEarnAssetBalanceForPortfolioMarginResponse>>}\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-pro/account/Get-Transferable-Earn-Asset-Balance-for-Portfolio-Margin Binance API Documentation}\n     */\n    public async getTransferableEarnAssetBalanceForPortfolioMargin(\n        requestParameters: GetTransferableEarnAssetBalanceForPortfolioMarginRequest\n    ): Promise<RestApiResponse<GetTransferableEarnAssetBalanceForPortfolioMarginResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.getTransferableEarnAssetBalanceForPortfolioMargin(\n                requestParameters?.asset,\n                requestParameters?.transferType,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<GetTransferableEarnAssetBalanceForPortfolioMarginResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs.headerParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Repay Portfolio Margin Pro Bankruptcy Loan\n     *\n     * Please note that the API Key has enabled Spot & Margin Trading permissions to access this endpoint.\n     *\n     * Weight: 3000\n     *\n     * @summary Portfolio Margin Pro Bankruptcy Loan Repay\n     * @param {PortfolioMarginProBankruptcyLoanRepayRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<PortfolioMarginProBankruptcyLoanRepayResponse>>}\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-pro/account/Classic-Portfolio-Margin-Bankruptcy-Loan-Repay Binance API Documentation}\n     */\n    public async portfolioMarginProBankruptcyLoanRepay(\n        requestParameters: PortfolioMarginProBankruptcyLoanRepayRequest = {}\n    ): Promise<RestApiResponse<PortfolioMarginProBankruptcyLoanRepayResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.portfolioMarginProBankruptcyLoanRepay(\n                requestParameters?.from,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<PortfolioMarginProBankruptcyLoanRepayResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs.headerParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query Portfolio Margin Pro Bankruptcy Loan Amount\n     *\n     * If there’s no classic portfolio margin bankruptcy loan, the amount would be 0\n     *\n     * Weight: 500\n     *\n     * @summary Query Portfolio Margin Pro Bankruptcy Loan Amount(USER_DATA)\n     * @param {QueryPortfolioMarginProBankruptcyLoanAmountRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryPortfolioMarginProBankruptcyLoanAmountResponse>>}\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-pro/account/Query-Classic-Portfolio-Margin-Bankruptcy-Loan-Amount Binance API Documentation}\n     */\n    public async queryPortfolioMarginProBankruptcyLoanAmount(\n        requestParameters: QueryPortfolioMarginProBankruptcyLoanAmountRequest = {}\n    ): Promise<RestApiResponse<QueryPortfolioMarginProBankruptcyLoanAmountResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.queryPortfolioMarginProBankruptcyLoanAmount(\n                requestParameters?.recvWindow\n            );\n        return sendRequest<QueryPortfolioMarginProBankruptcyLoanAmountResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs.headerParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query repay history of pmloan for portfolio margin pro.\n     *\n     * `startTime` and `endTime` cannot be longer than 360 days\n     * If `startTime` and `endTime` not sent, return records of the last 30 days by default.\n     * If `startTime`is sent and `endTime` is not sent, return records of [startTime, startTime+30d].\n     * If `startTime` is not sent and `endTime` is sent, return records of [endTime-30d, endTime].\n     *\n     * Weight: 500\n     *\n     * @summary Query Portfolio Margin Pro Bankruptcy Loan Repay History(USER_DATA)\n     * @param {QueryPortfolioMarginProBankruptcyLoanRepayHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryPortfolioMarginProBankruptcyLoanRepayHistoryResponse>>}\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-pro/account/Query-Portfolio-Margin-Pro-Bankruptcy-Loan-Repay-History Binance API Documentation}\n     */\n    public async queryPortfolioMarginProBankruptcyLoanRepayHistory(\n        requestParameters: QueryPortfolioMarginProBankruptcyLoanRepayHistoryRequest = {}\n    ): Promise<RestApiResponse<QueryPortfolioMarginProBankruptcyLoanRepayHistoryResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.queryPortfolioMarginProBankruptcyLoanRepayHistory(\n                requestParameters?.startTime,\n                requestParameters?.endTime,\n                requestParameters?.current,\n                requestParameters?.size,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<QueryPortfolioMarginProBankruptcyLoanRepayHistoryResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs.headerParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query interest history of negative balance for portfolio margin.\n     *\n     * Weight: 50\n     *\n     * @summary Query Portfolio Margin Pro Negative Balance Interest History(USER_DATA)\n     * @param {QueryPortfolioMarginProNegativeBalanceInterestHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryPortfolioMarginProNegativeBalanceInterestHistoryResponse>>}\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-pro/account/Query-Classic-Portfolio-Margin-Negative-Balance-Interest-History Binance API Documentation}\n     */\n    public async queryPortfolioMarginProNegativeBalanceInterestHistory(\n        requestParameters: QueryPortfolioMarginProNegativeBalanceInterestHistoryRequest = {}\n    ): Promise<RestApiResponse<QueryPortfolioMarginProNegativeBalanceInterestHistoryResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.queryPortfolioMarginProNegativeBalanceInterestHistory(\n                requestParameters?.asset,\n                requestParameters?.startTime,\n                requestParameters?.endTime,\n                requestParameters?.size,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<QueryPortfolioMarginProNegativeBalanceInterestHistoryResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs.headerParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Repay futures Negative Balance\n     *\n     * Weight: 1500\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-pro/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?.from,\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.headerParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Set the margin call level for a Portfolio Margin account. When the account's uniMMR drops to the specified level, a notification will be sent via email and SMS.\n     *\n     * Weight: 1500\n     *\n     * @summary Set Margin Call Level (USER_DATA)\n     * @param {SetMarginCallLevelRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<SetMarginCallLevelResponse>>}\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-pro/account/Set-Margin-Call-Level Binance API Documentation}\n     */\n    public async setMarginCallLevel(\n        requestParameters: SetMarginCallLevelRequest\n    ): Promise<RestApiResponse<SetMarginCallLevelResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.setMarginCallLevel(\n            requestParameters?.marginCallLevel,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<SetMarginCallLevelResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs.headerParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Switch the Delta mode for existing PM PRO / PM RETAIL accounts.\n     *\n     * Weight: 1500\n     *\n     * @summary Switch Delta Mode(TRADE)\n     * @param {SwitchDeltaModeRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<SwitchDeltaModeResponse>>}\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-pro/account/Switch-Delta-Mode Binance API Documentation}\n     */\n    public async switchDeltaMode(\n        requestParameters: SwitchDeltaModeRequest\n    ): Promise<RestApiResponse<SwitchDeltaModeResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.switchDeltaMode(\n            requestParameters?.deltaEnabled,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<SwitchDeltaModeResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs.headerParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Transfer LDUSDT/RWUSD as collateral for all types of Portfolio Margin account\n     *\n     * Weight: 1500\n     *\n     * @summary Transfer LDUSDT/RWUSD for Portfolio Margin(TRADE)\n     * @param {TransferLdusdtRwusdForPortfolioMarginRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<TransferLdusdtRwusdForPortfolioMarginResponse>>}\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-pro/account/Transfer-LDUSDT-Portfolio-Margin Binance API Documentation}\n     */\n    public async transferLdusdtRwusdForPortfolioMargin(\n        requestParameters: TransferLdusdtRwusdForPortfolioMarginRequest\n    ): Promise<RestApiResponse<TransferLdusdtRwusdForPortfolioMarginResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.transferLdusdtRwusdForPortfolioMargin(\n                requestParameters?.asset,\n                requestParameters?.transferType,\n                requestParameters?.amount,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<TransferLdusdtRwusdForPortfolioMarginResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs.headerParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n}\n","/**\n * Binance Derivatives Trading Portfolio Margin Pro REST API\n *\n * OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin Pro 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 {\n    GetPortfolioMarginAssetLeverageResponse,\n    PortfolioMarginCollateralRateResponse,\n    PortfolioMarginProTieredCollateralRateResponse,\n    QueryPortfolioMarginAssetIndexPriceResponse,\n} from '../types';\n\n/**\n * MarketDataApi - axios parameter creator\n */\nconst MarketDataApiAxiosParamCreator = function (configuration: ConfigurationRestAPI) {\n    return {\n        /**\n         * Get Portfolio Margin Asset Leverage\n         *\n         * Weight: 50\n         *\n         * @summary Get Portfolio Margin Asset Leverage(USER_DATA)\n         *\n         * @throws {RequiredError}\n         */\n        getPortfolioMarginAssetLeverage: async (): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n            const localVarHeaderParameter: Record<string, unknown> = {};\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/portfolio/margin-asset-leverage',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                headerParams: localVarHeaderParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Portfolio Margin Collateral Rate\n         *\n         * Weight: 50\n         *\n         * @summary Portfolio Margin Collateral Rate(MARKET_DATA)\n         *\n         * @throws {RequiredError}\n         */\n        portfolioMarginCollateralRate: async (): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n            const localVarHeaderParameter: Record<string, unknown> = {};\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/portfolio/collateralRate',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                headerParams: localVarHeaderParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Portfolio Margin PRO Tiered Collateral Rate\n         *\n         * Weight: 50\n         *\n         * @summary Portfolio Margin Pro Tiered Collateral Rate(USER_DATA)\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        portfolioMarginProTieredCollateralRate: async (\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n            const localVarHeaderParameter: 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: '/sapi/v2/portfolio/collateralRate',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                headerParams: localVarHeaderParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query Portfolio Margin Asset Index Price\n         *\n         * Weight: 1 if send asset or 50 if not send asset\n         *\n         * @summary Query Portfolio Margin Asset Index Price (MARKET_DATA)\n         * @param {string} [asset]\n         *\n         * @throws {RequiredError}\n         */\n        queryPortfolioMarginAssetIndexPrice: async (asset?: string): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n            const localVarHeaderParameter: Record<string, unknown> = {};\n\n            if (asset !== undefined && asset !== null) {\n                localVarQueryParameter['asset'] = asset;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/portfolio/asset-index-price',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                headerParams: localVarHeaderParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n    };\n};\n\n/**\n * MarketDataApi - interface\n * @interface MarketDataApi\n */\nexport interface MarketDataApiInterface {\n    /**\n     * Get Portfolio Margin Asset Leverage\n     *\n     * Weight: 50\n     *\n     * @summary Get Portfolio Margin Asset Leverage(USER_DATA)\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof MarketDataApiInterface\n     */\n    getPortfolioMarginAssetLeverage(): Promise<\n        RestApiResponse<GetPortfolioMarginAssetLeverageResponse>\n    >;\n    /**\n     * Portfolio Margin Collateral Rate\n     *\n     * Weight: 50\n     *\n     * @summary Portfolio Margin Collateral Rate(MARKET_DATA)\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof MarketDataApiInterface\n     */\n    portfolioMarginCollateralRate(): Promise<\n        RestApiResponse<PortfolioMarginCollateralRateResponse>\n    >;\n    /**\n     * Portfolio Margin PRO Tiered Collateral Rate\n     *\n     * Weight: 50\n     *\n     * @summary Portfolio Margin Pro Tiered Collateral Rate(USER_DATA)\n     * @param {PortfolioMarginProTieredCollateralRateRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof MarketDataApiInterface\n     */\n    portfolioMarginProTieredCollateralRate(\n        requestParameters?: PortfolioMarginProTieredCollateralRateRequest\n    ): Promise<RestApiResponse<PortfolioMarginProTieredCollateralRateResponse>>;\n    /**\n     * Query Portfolio Margin Asset Index Price\n     *\n     * Weight: 1 if send asset or 50 if not send asset\n     *\n     * @summary Query Portfolio Margin Asset Index Price (MARKET_DATA)\n     * @param {QueryPortfolioMarginAssetIndexPriceRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof MarketDataApiInterface\n     */\n    queryPortfolioMarginAssetIndexPrice(\n        requestParameters?: QueryPortfolioMarginAssetIndexPriceRequest\n    ): Promise<RestApiResponse<QueryPortfolioMarginAssetIndexPriceResponse>>;\n}\n\n/**\n * Request parameters for portfolioMarginProTieredCollateralRate operation in MarketDataApi.\n * @interface PortfolioMarginProTieredCollateralRateRequest\n */\nexport interface PortfolioMarginProTieredCollateralRateRequest {\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof MarketDataApiPortfolioMarginProTieredCollateralRate\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for queryPortfolioMarginAssetIndexPrice operation in MarketDataApi.\n * @interface QueryPortfolioMarginAssetIndexPriceRequest\n */\nexport interface QueryPortfolioMarginAssetIndexPriceRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof MarketDataApiQueryPortfolioMarginAssetIndexPrice\n     */\n    readonly asset?: string;\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     * Get Portfolio Margin Asset Leverage\n     *\n     * Weight: 50\n     *\n     * @summary Get Portfolio Margin Asset Leverage(USER_DATA)\n     * @returns {Promise<RestApiResponse<GetPortfolioMarginAssetLeverageResponse>>}\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-pro/market-data/Get-Portfolio-Margin-Asset-Leverage Binance API Documentation}\n     */\n    public async getPortfolioMarginAssetLeverage(): Promise<\n        RestApiResponse<GetPortfolioMarginAssetLeverageResponse>\n        > {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.getPortfolioMarginAssetLeverage();\n        return sendRequest<GetPortfolioMarginAssetLeverageResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs.headerParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Portfolio Margin Collateral Rate\n     *\n     * Weight: 50\n     *\n     * @summary Portfolio Margin Collateral Rate(MARKET_DATA)\n     * @returns {Promise<RestApiResponse<PortfolioMarginCollateralRateResponse>>}\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-pro/market-data/Classic-Portfolio-Margin-Collateral-Rate Binance API Documentation}\n     */\n    public async portfolioMarginCollateralRate(): Promise<\n        RestApiResponse<PortfolioMarginCollateralRateResponse>\n        > {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.portfolioMarginCollateralRate();\n        return sendRequest<PortfolioMarginCollateralRateResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs.headerParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: false }\n        );\n    }\n\n    /**\n     * Portfolio Margin PRO Tiered Collateral Rate\n     *\n     * Weight: 50\n     *\n     * @summary Portfolio Margin Pro Tiered Collateral Rate(USER_DATA)\n     * @param {PortfolioMarginProTieredCollateralRateRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<PortfolioMarginProTieredCollateralRateResponse>>}\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-pro/market-data/Portfolio-Margin-Pro-Tiered-Collateral-Rate Binance API Documentation}\n     */\n    public async portfolioMarginProTieredCollateralRate(\n        requestParameters: PortfolioMarginProTieredCollateralRateRequest = {}\n    ): Promise<RestApiResponse<PortfolioMarginProTieredCollateralRateResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.portfolioMarginProTieredCollateralRate(\n                requestParameters?.recvWindow\n            );\n        return sendRequest<PortfolioMarginProTieredCollateralRateResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs.headerParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query Portfolio Margin Asset Index Price\n     *\n     * Weight: 1 if send asset or 50 if not send asset\n     *\n     * @summary Query Portfolio Margin Asset Index Price (MARKET_DATA)\n     * @param {QueryPortfolioMarginAssetIndexPriceRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryPortfolioMarginAssetIndexPriceResponse>>}\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-pro/market-data/Query-Portfolio-Margin-Asset-Index-Price Binance API Documentation}\n     */\n    public async queryPortfolioMarginAssetIndexPrice(\n        requestParameters: QueryPortfolioMarginAssetIndexPriceRequest = {}\n    ): Promise<RestApiResponse<QueryPortfolioMarginAssetIndexPriceResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.queryPortfolioMarginAssetIndexPrice(\n                requestParameters?.asset\n            );\n        return sendRequest<QueryPortfolioMarginAssetIndexPriceResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs.headerParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: false }\n        );\n    }\n}\n","/**\n * Binance Derivatives Trading Portfolio Margin Pro REST API\n *\n * OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin Pro 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';\n\nimport type {\n    BnbTransferRequest,\n    ChangeAutoRepayFuturesStatusRequest,\n    DeleteMarginCallLevelRequest,\n    FundAutoCollectionRequest,\n    FundCollectionByAssetRequest,\n    GetAutoRepayFuturesStatusRequest,\n    GetDeltaModeStatusRequest,\n    GetMarginCallLevelRequest,\n    GetPortfolioMarginProAccountBalanceRequest,\n    GetPortfolioMarginProAccountInfoRequest,\n    GetPortfolioMarginProSpanAccountInfoRequest,\n    GetTransferableEarnAssetBalanceForPortfolioMarginRequest,\n    PortfolioMarginProBankruptcyLoanRepayRequest,\n    QueryPortfolioMarginProBankruptcyLoanAmountRequest,\n    QueryPortfolioMarginProBankruptcyLoanRepayHistoryRequest,\n    QueryPortfolioMarginProNegativeBalanceInterestHistoryRequest,\n    RepayFuturesNegativeBalanceRequest,\n    SetMarginCallLevelRequest,\n    SwitchDeltaModeRequest,\n    TransferLdusdtRwusdForPortfolioMarginRequest,\n} from './modules/account-api';\nimport type {\n    PortfolioMarginProTieredCollateralRateRequest,\n    QueryPortfolioMarginAssetIndexPriceRequest,\n} from './modules/market-data-api';\n\nimport type {\n    BnbTransferResponse,\n    ChangeAutoRepayFuturesStatusResponse,\n    DeleteMarginCallLevelResponse,\n    FundAutoCollectionResponse,\n    FundCollectionByAssetResponse,\n    GetAutoRepayFuturesStatusResponse,\n    GetDeltaModeStatusResponse,\n    GetMarginCallLevelResponse,\n    GetPortfolioMarginProAccountBalanceResponse,\n    GetPortfolioMarginProAccountInfoResponse,\n    GetPortfolioMarginProSpanAccountInfoResponse,\n    GetTransferableEarnAssetBalanceForPortfolioMarginResponse,\n    PortfolioMarginProBankruptcyLoanRepayResponse,\n    QueryPortfolioMarginProBankruptcyLoanAmountResponse,\n    QueryPortfolioMarginProBankruptcyLoanRepayHistoryResponse,\n    QueryPortfolioMarginProNegativeBalanceInterestHistoryResponse,\n    RepayFuturesNegativeBalanceResponse,\n    SetMarginCallLevelResponse,\n    SwitchDeltaModeResponse,\n    TransferLdusdtRwusdForPortfolioMarginResponse,\n} from './types';\nimport type {\n    GetPortfolioMarginAssetLeverageResponse,\n    PortfolioMarginCollateralRateResponse,\n    PortfolioMarginProTieredCollateralRateResponse,\n    QueryPortfolioMarginAssetIndexPriceResponse,\n} from './types';\n\nexport class RestAPI {\n    private configuration: ConfigurationRestAPI;\n    private accountApi: AccountApi;\n    private marketDataApi: MarketDataApi;\n\n    constructor(configuration: ConfigurationRestAPI) {\n        this.configuration = configuration;\n        this.accountApi = new AccountApi(configuration);\n        this.marketDataApi = new MarketDataApi(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            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            undefined,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * BNB transfer can be between Margin Account and USDM Account\n     *\n     *\n     * You can only use this function 2 times per 10 minutes in a rolling manner\n     *\n     * Weight: 1500\n     *\n     * @summary BNB transfer(USER_DATA)\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-pro/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: 1500\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-pro/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     * Delete the margin call level for a Portfolio Margin account.\n     *\n     * Weight: 1500\n     *\n     * @summary Delete Margin Call Level (USER_DATA)\n     * @param {DeleteMarginCallLevelRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<DeleteMarginCallLevelResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Delete-Margin-Call-Level Binance API Documentation}\n     */\n    deleteMarginCallLevel(\n        requestParameters: DeleteMarginCallLevelRequest = {}\n    ): Promise<RestApiResponse<DeleteMarginCallLevelResponse>> {\n        return this.accountApi.deleteMarginCallLevel(requestParameters);\n    }\n\n    /**\n     * Transfers all assets from Futures Account to Margin account\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: 1500\n     *\n     * @summary Fund Auto-collection(USER_DATA)\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-pro/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: 60\n     *\n     * @summary Fund Collection by Asset(USER_DATA)\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-pro/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-pro/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     * Query the Delta mode status of current account.\n     *\n     * Weight: 1500\n     *\n     * @summary Get Delta Mode Status(USER_DATA)\n     * @param {GetDeltaModeStatusRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<GetDeltaModeStatusResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Get-Delta-Mode-Status Binance API Documentation}\n     */\n    getDeltaModeStatus(\n        requestParameters: GetDeltaModeStatusRequest = {}\n    ): Promise<RestApiResponse<GetDeltaModeStatusResponse>> {\n        return this.accountApi.getDeltaModeStatus(requestParameters);\n    }\n\n    /**\n     * Get the margin call level for a Portfolio Margin account.\n     *\n     * Weight: 1500\n     *\n     * @summary Get Margin Call Level (USER_DATA)\n     * @param {GetMarginCallLevelRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<GetMarginCallLevelResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Get-Margin-Call-Level Binance API Documentation}\n     */\n    getMarginCallLevel(\n        requestParameters: GetMarginCallLevelRequest = {}\n    ): Promise<RestApiResponse<GetMarginCallLevelResponse>> {\n        return this.accountApi.getMarginCallLevel(requestParameters);\n    }\n\n    /**\n     * Query Portfolio Margin Pro account balance\n     *\n     * Weight: 20\n     *\n     * @summary Get Portfolio Margin Pro Account Balance(USER_DATA)\n     * @param {GetPortfolioMarginProAccountBalanceRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<GetPortfolioMarginProAccountBalanceResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Get-Classic-Portfolio-Margin-Balance-Info Binance API Documentation}\n     */\n    getPortfolioMarginProAccountBalance(\n        requestParameters: GetPortfolioMarginProAccountBalanceRequest = {}\n    ): Promise<RestApiResponse<GetPortfolioMarginProAccountBalanceResponse>> {\n        return this.accountApi.getPortfolioMarginProAccountBalance(requestParameters);\n    }\n\n    /**\n     * Get Portfolio Margin Pro Account Info\n     *\n     * Weight: 5\n     *\n     * @summary Get Portfolio Margin Pro Account Info(USER_DATA)\n     * @param {GetPortfolioMarginProAccountInfoRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<GetPortfolioMarginProAccountInfoResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Get-Classic-Portfolio-Margin-Account-Info Binance API Documentation}\n     */\n    getPortfolioMarginProAccountInfo(\n        requestParameters: GetPortfolioMarginProAccountInfoRequest = {}\n    ): Promise<RestApiResponse<GetPortfolioMarginProAccountInfoResponse>> {\n        return this.accountApi.getPortfolioMarginProAccountInfo(requestParameters);\n    }\n\n    /**\n     * Get Portfolio Margin Pro SPAN Account Info (For Portfolio Margin Pro SPAN users only)\n     *\n     * Weight: 5\n     *\n     * @summary Get Portfolio Margin Pro SPAN Account Info(USER_DATA)\n     * @param {GetPortfolioMarginProSpanAccountInfoRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<GetPortfolioMarginProSpanAccountInfoResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Get-Classic-Portfolio-Margin-Account-Info-V2 Binance API Documentation}\n     */\n    getPortfolioMarginProSpanAccountInfo(\n        requestParameters: GetPortfolioMarginProSpanAccountInfoRequest = {}\n    ): Promise<RestApiResponse<GetPortfolioMarginProSpanAccountInfoResponse>> {\n        return this.accountApi.getPortfolioMarginProSpanAccountInfo(requestParameters);\n    }\n\n    /**\n     * Get transferable earn asset balance for all types of Portfolio Margin account\n     *\n     * Weight: 1500\n     *\n     * @summary Get Transferable Earn Asset Balance for Portfolio Margin (USER_DATA)\n     * @param {GetTransferableEarnAssetBalanceForPortfolioMarginRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<GetTransferableEarnAssetBalanceForPortfolioMarginResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Get-Transferable-Earn-Asset-Balance-for-Portfolio-Margin Binance API Documentation}\n     */\n    getTransferableEarnAssetBalanceForPortfolioMargin(\n        requestParameters: GetTransferableEarnAssetBalanceForPortfolioMarginRequest\n    ): Promise<RestApiResponse<GetTransferableEarnAssetBalanceForPortfolioMarginResponse>> {\n        return this.accountApi.getTransferableEarnAssetBalanceForPortfolioMargin(requestParameters);\n    }\n\n    /**\n     * Repay Portfolio Margin Pro Bankruptcy Loan\n     *\n     * Please note that the API Key has enabled Spot & Margin Trading permissions to access this endpoint.\n     *\n     * Weight: 3000\n     *\n     * @summary Portfolio Margin Pro Bankruptcy Loan Repay\n     * @param {PortfolioMarginProBankruptcyLoanRepayRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<PortfolioMarginProBankruptcyLoanRepayResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Classic-Portfolio-Margin-Bankruptcy-Loan-Repay Binance API Documentation}\n     */\n    portfolioMarginProBankruptcyLoanRepay(\n        requestParameters: PortfolioMarginProBankruptcyLoanRepayRequest = {}\n    ): Promise<RestApiResponse<PortfolioMarginProBankruptcyLoanRepayResponse>> {\n        return this.accountApi.portfolioMarginProBankruptcyLoanRepay(requestParameters);\n    }\n\n    /**\n     * Query Portfolio Margin Pro Bankruptcy Loan Amount\n     *\n     * If there’s no classic portfolio margin bankruptcy loan, the amount would be 0\n     *\n     * Weight: 500\n     *\n     * @summary Query Portfolio Margin Pro Bankruptcy Loan Amount(USER_DATA)\n     * @param {QueryPortfolioMarginProBankruptcyLoanAmountRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<QueryPortfolioMarginProBankruptcyLoanAmountResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Query-Classic-Portfolio-Margin-Bankruptcy-Loan-Amount Binance API Documentation}\n     */\n    queryPortfolioMarginProBankruptcyLoanAmount(\n        requestParameters: QueryPortfolioMarginProBankruptcyLoanAmountRequest = {}\n    ): Promise<RestApiResponse<QueryPortfolioMarginProBankruptcyLoanAmountResponse>> {\n        return this.accountApi.queryPortfolioMarginProBankruptcyLoanAmount(requestParameters);\n    }\n\n    /**\n     * Query repay history of pmloan for portfolio margin pro.\n     *\n     * `startTime` and `endTime` cannot be longer than 360 days\n     * If `startTime` and `endTime` not sent, return records of the last 30 days by default.\n     * If `startTime`is sent and `endTime` is not sent, return records of [startTime, startTime+30d].\n     * If `startTime` is not sent and `endTime` is sent, return records of [endTime-30d, endTime].\n     *\n     * Weight: 500\n     *\n     * @summary Query Portfolio Margin Pro Bankruptcy Loan Repay History(USER_DATA)\n     * @param {QueryPortfolioMarginProBankruptcyLoanRepayHistoryRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<QueryPortfolioMarginProBankruptcyLoanRepayHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Query-Portfolio-Margin-Pro-Bankruptcy-Loan-Repay-History Binance API Documentation}\n     */\n    queryPortfolioMarginProBankruptcyLoanRepayHistory(\n        requestParameters: QueryPortfolioMarginProBankruptcyLoanRepayHistoryRequest = {}\n    ): Promise<RestApiResponse<QueryPortfolioMarginProBankruptcyLoanRepayHistoryResponse>> {\n        return this.accountApi.queryPortfolioMarginProBankruptcyLoanRepayHistory(requestParameters);\n    }\n\n    /**\n     * Query interest history of negative balance for portfolio margin.\n     *\n     * Weight: 50\n     *\n     * @summary Query Portfolio Margin Pro Negative Balance Interest History(USER_DATA)\n     * @param {QueryPortfolioMarginProNegativeBalanceInterestHistoryRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<QueryPortfolioMarginProNegativeBalanceInterestHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Query-Classic-Portfolio-Margin-Negative-Balance-Interest-History Binance API Documentation}\n     */\n    queryPortfolioMarginProNegativeBalanceInterestHistory(\n        requestParameters: QueryPortfolioMarginProNegativeBalanceInterestHistoryRequest = {}\n    ): Promise<RestApiResponse<QueryPortfolioMarginProNegativeBalanceInterestHistoryResponse>> {\n        return this.accountApi.queryPortfolioMarginProNegativeBalanceInterestHistory(\n            requestParameters\n        );\n    }\n\n    /**\n     * Repay futures Negative Balance\n     *\n     * Weight: 1500\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-pro/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     * Set the margin call level for a Portfolio Margin account. When the account's uniMMR drops to the specified level, a notification will be sent via email and SMS.\n     *\n     * Weight: 1500\n     *\n     * @summary Set Margin Call Level (USER_DATA)\n     * @param {SetMarginCallLevelRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<SetMarginCallLevelResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Set-Margin-Call-Level Binance API Documentation}\n     */\n    setMarginCallLevel(\n        requestParameters: SetMarginCallLevelRequest\n    ): Promise<RestApiResponse<SetMarginCallLevelResponse>> {\n        return this.accountApi.setMarginCallLevel(requestParameters);\n    }\n\n    /**\n     * Switch the Delta mode for existing PM PRO / PM RETAIL accounts.\n     *\n     * Weight: 1500\n     *\n     * @summary Switch Delta Mode(TRADE)\n     * @param {SwitchDeltaModeRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<SwitchDeltaModeResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Switch-Delta-Mode Binance API Documentation}\n     */\n    switchDeltaMode(\n        requestParameters: SwitchDeltaModeRequest\n    ): Promise<RestApiResponse<SwitchDeltaModeResponse>> {\n        return this.accountApi.switchDeltaMode(requestParameters);\n    }\n\n    /**\n     * Transfer LDUSDT/RWUSD as collateral for all types of Portfolio Margin account\n     *\n     * Weight: 1500\n     *\n     * @summary Transfer LDUSDT/RWUSD for Portfolio Margin(TRADE)\n     * @param {TransferLdusdtRwusdForPortfolioMarginRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<TransferLdusdtRwusdForPortfolioMarginResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Transfer-LDUSDT-Portfolio-Margin Binance API Documentation}\n     */\n    transferLdusdtRwusdForPortfolioMargin(\n        requestParameters: TransferLdusdtRwusdForPortfolioMarginRequest\n    ): Promise<RestApiResponse<TransferLdusdtRwusdForPortfolioMarginResponse>> {\n        return this.accountApi.transferLdusdtRwusdForPortfolioMargin(requestParameters);\n    }\n\n    /**\n     * Get Portfolio Margin Asset Leverage\n     *\n     * Weight: 50\n     *\n     * @summary Get Portfolio Margin Asset Leverage(USER_DATA)\n     *\n     * @returns {Promise<RestApiResponse<GetPortfolioMarginAssetLeverageResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/market-data/Get-Portfolio-Margin-Asset-Leverage Binance API Documentation}\n     */\n    getPortfolioMarginAssetLeverage(): Promise<\n        RestApiResponse<GetPortfolioMarginAssetLeverageResponse>\n        > {\n        return this.marketDataApi.getPortfolioMarginAssetLeverage();\n    }\n\n    /**\n     * Portfolio Margin Collateral Rate\n     *\n     * Weight: 50\n     *\n     * @summary Portfolio Margin Collateral Rate(MARKET_DATA)\n     *\n     * @returns {Promise<RestApiResponse<PortfolioMarginCollateralRateResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/market-data/Classic-Portfolio-Margin-Collateral-Rate Binance API Documentation}\n     */\n    portfolioMarginCollateralRate(): Promise<\n        RestApiResponse<PortfolioMarginCollateralRateResponse>\n        > {\n        return this.marketDataApi.portfolioMarginCollateralRate();\n    }\n\n    /**\n     * Portfolio Margin PRO Tiered Collateral Rate\n     *\n     * Weight: 50\n     *\n     * @summary Portfolio Margin Pro Tiered Collateral Rate(USER_DATA)\n     * @param {PortfolioMarginProTieredCollateralRateRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<PortfolioMarginProTieredCollateralRateResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/market-data/Portfolio-Margin-Pro-Tiered-Collateral-Rate Binance API Documentation}\n     */\n    portfolioMarginProTieredCollateralRate(\n        requestParameters: PortfolioMarginProTieredCollateralRateRequest = {}\n    ): Promise<RestApiResponse<PortfolioMarginProTieredCollateralRateResponse>> {\n        return this.marketDataApi.portfolioMarginProTieredCollateralRate(requestParameters);\n    }\n\n    /**\n     * Query Portfolio Margin Asset Index Price\n     *\n     * Weight: 1 if send asset or 50 if not send asset\n     *\n     * @summary Query Portfolio Margin Asset Index Price (MARKET_DATA)\n     * @param {QueryPortfolioMarginAssetIndexPriceRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<QueryPortfolioMarginAssetIndexPriceResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/market-data/Query-Portfolio-Margin-Asset-Index-Price Binance API Documentation}\n     */\n    queryPortfolioMarginAssetIndexPrice(\n        requestParameters: QueryPortfolioMarginAssetIndexPriceRequest = {}\n    ): Promise<RestApiResponse<QueryPortfolioMarginAssetIndexPriceResponse>> {\n        return this.marketDataApi.queryPortfolioMarginAssetIndexPrice(requestParameters);\n    }\n}\n","/**\n * Binance Derivatives Trading Portfolio Margin Pro REST API\n *\n * OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin Pro 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 Pro WebSocket Market Streams\n *\n * OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin Pro 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 Pro WebSocket Market Streams\n *\n * OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin Pro 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 Pro WebSocket Market Streams\n *\n * OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin Pro 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_PRO_REST_API_PROD_URL,\n    DERIVATIVES_TRADING_PORTFOLIO_MARGIN_PRO_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 ConfigurationDerivativesTradingPortfolioMarginPro {\n    configurationRestAPI?: ConfigurationRestAPI;\n\n    configurationWebsocketStreams?: ConfigurationWebsocketStreams;\n}\n\nexport class DerivativesTradingPortfolioMarginPro {\n    public restAPI!: RestAPI;\n\n    public websocketStreams!: WebsocketStreams;\n\n    constructor(config: ConfigurationDerivativesTradingPortfolioMarginPro) {\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 ||\n                DERIVATIVES_TRADING_PORTFOLIO_MARGIN_PRO_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_PRO_WS_STREAMS_PROD_URL;\n            configWebsocketStreams.userAgent = userAgent;\n            this.websocketStreams = new WebsocketStreams(configWebsocketStreams);\n        }\n    }\n}\n"],"mappings":"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"}