{"version":3,"sources":["../src/derivatives-trading-portfolio-margin-pro.ts","../package.json","../src/rest-api/index.ts","../src/rest-api/modules/account-api.ts","../src/rest-api/modules/market-data-api.ts","../src/rest-api/rest-api.ts","../src/websocket-streams/index.ts","../src/websocket-streams/websocket-streams.ts","../src/websocket-streams/websocket-streams-connection.ts","../src/index.ts"],"sourcesContent":["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","{\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\": \"7.0.3\",\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 && tsup\",\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        \"prettier\": \"^3.3.3\",\n        \"ts-jest\": \"^29.1.1\",\n        \"ts-node\": \"^10.9.1\",\n        \"tsup\": \"^8.4.0\",\n        \"typescript\": \"^5.7.2\",\n        \"typescript-eslint\": \"^8.24.0\"\n    },\n    \"dependencies\": {\n        \"@binance/common\": \"1.2.3\",\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\nexport * from './types';\nexport * from './modules';\nexport * from './rest-api';\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    FundAutoCollectionResponse,\n    FundCollectionByAssetResponse,\n    GetAutoRepayFuturesStatusResponse,\n    GetPortfolioMarginProAccountBalanceResponse,\n    GetPortfolioMarginProAccountInfoResponse,\n    GetPortfolioMarginProSpanAccountInfoResponse,\n    GetTransferableEarnAssetBalanceForPortfolioMarginResponse,\n    MintBfusdForPortfolioMarginResponse,\n    PortfolioMarginProBankruptcyLoanRepayResponse,\n    QueryPortfolioMarginProBankruptcyLoanAmountResponse,\n    QueryPortfolioMarginProBankruptcyLoanRepayHistoryResponse,\n    QueryPortfolioMarginProNegativeBalanceInterestHistoryResponse,\n    RedeemBfusdForPortfolioMarginResponse,\n    RepayFuturesNegativeBalanceResponse,\n    TransferLdusdtForPortfolioMarginResponse,\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} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        bnbTransfer: async (\n            amount: number,\n            transferSide: string,\n            recvWindow?: number\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\n            if (amount !== undefined && amount !== null) {\n                localVarQueryParameter['amount'] = amount;\n            }\n\n            if (transferSide !== undefined && transferSide !== null) {\n                localVarQueryParameter['transferSide'] = transferSide;\n            }\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                params: localVarQueryParameter,\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} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        changeAutoRepayFuturesStatus: async (\n            autoRepay: string,\n            recvWindow?: number\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\n            if (autoRepay !== undefined && autoRepay !== null) {\n                localVarQueryParameter['autoRepay'] = autoRepay;\n            }\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                params: localVarQueryParameter,\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} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        fundAutoCollection: async (recvWindow?: number): Promise<RequestArgs> => {\n            const localVarQueryParameter: 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                params: localVarQueryParameter,\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` only\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        fundCollectionByAsset: async (asset: string, recvWindow?: number): 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\n            if (asset !== undefined && asset !== null) {\n                localVarQueryParameter['asset'] = asset;\n            }\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                params: localVarQueryParameter,\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} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getAutoRepayFuturesStatus: async (recvWindow?: number): Promise<RequestArgs> => {\n            const localVarQueryParameter: 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                params: localVarQueryParameter,\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} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getPortfolioMarginProAccountBalance: async (\n            asset?: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (asset !== undefined && asset !== null) {\n                localVarQueryParameter['asset'] = asset;\n            }\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                params: localVarQueryParameter,\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} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getPortfolioMarginProAccountInfo: async (recvWindow?: number): Promise<RequestArgs> => {\n            const localVarQueryParameter: 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                params: localVarQueryParameter,\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} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getPortfolioMarginProSpanAccountInfo: async (recvWindow?: number): Promise<RequestArgs> => {\n            const localVarQueryParameter: 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                params: localVarQueryParameter,\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` only\n         * @param {string} transferType `EARN_TO_FUTURE` /`FUTURE_TO_EARN`\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getTransferableEarnAssetBalanceForPortfolioMargin: async (\n            asset: string,\n            transferType: string,\n            recvWindow?: number\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\n            if (asset !== undefined && asset !== null) {\n                localVarQueryParameter['asset'] = asset;\n            }\n\n            if (transferType !== undefined && transferType !== null) {\n                localVarQueryParameter['transferType'] = transferType;\n            }\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                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Mint BFUSD for all types of Portfolio Margin account\n         *\n         * Weight: 1500\n         *\n         * @summary Mint BFUSD for Portfolio Margin(TRADE)\n         * @param {string} fromAsset `BFUSD` only\n         * @param {string} targetAsset `USDT` `USDC`\n         * @param {number} amount\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        mintBfusdForPortfolioMargin: async (\n            fromAsset: string,\n            targetAsset: string,\n            amount: number,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'fromAsset' is not null or undefined\n            assertParamExists('mintBfusdForPortfolioMargin', 'fromAsset', fromAsset);\n            // verify required parameter 'targetAsset' is not null or undefined\n            assertParamExists('mintBfusdForPortfolioMargin', 'targetAsset', targetAsset);\n            // verify required parameter 'amount' is not null or undefined\n            assertParamExists('mintBfusdForPortfolioMargin', 'amount', amount);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (fromAsset !== undefined && fromAsset !== null) {\n                localVarQueryParameter['fromAsset'] = fromAsset;\n            }\n\n            if (targetAsset !== undefined && targetAsset !== null) {\n                localVarQueryParameter['targetAsset'] = targetAsset;\n            }\n\n            if (amount !== undefined && amount !== null) {\n                localVarQueryParameter['amount'] = amount;\n            }\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/mint',\n                method: 'POST',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Repay Portfolio Margin Pro Bankruptcy Loan\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} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        portfolioMarginProBankruptcyLoanRepay: async (\n            from?: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (from !== undefined && from !== null) {\n                localVarQueryParameter['from'] = from;\n            }\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                params: localVarQueryParameter,\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} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryPortfolioMarginProBankruptcyLoanAmount: async (\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: 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                params: localVarQueryParameter,\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} [startTime]\n         * @param {number} [endTime]\n         * @param {number} [current] Currently querying page. Start from 1. Default:1\n         * @param {number} [size] Default:10 Max:100\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryPortfolioMarginProBankruptcyLoanRepayHistory: async (\n            startTime?: number,\n            endTime?: number,\n            current?: number,\n            size?: number,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n\n            if (current !== undefined && current !== null) {\n                localVarQueryParameter['current'] = current;\n            }\n\n            if (size !== undefined && size !== null) {\n                localVarQueryParameter['size'] = size;\n            }\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                params: localVarQueryParameter,\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} [startTime]\n         * @param {number} [endTime]\n         * @param {number} [size] Default:10 Max:100\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryPortfolioMarginProNegativeBalanceInterestHistory: async (\n            asset?: string,\n            startTime?: number,\n            endTime?: number,\n            size?: number,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (asset !== undefined && asset !== null) {\n                localVarQueryParameter['asset'] = asset;\n            }\n\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n\n            if (size !== undefined && size !== null) {\n                localVarQueryParameter['size'] = size;\n            }\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                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Redeem BFUSD for all types of Portfolio Margin account\n         *\n         * Weight: 1500\n         *\n         * @summary Redeem BFUSD for Portfolio Margin(TRADE)\n         * @param {string} fromAsset `BFUSD` only\n         * @param {string} targetAsset `USDT` `USDC`\n         * @param {number} amount\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        redeemBfusdForPortfolioMargin: async (\n            fromAsset: string,\n            targetAsset: string,\n            amount: number,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'fromAsset' is not null or undefined\n            assertParamExists('redeemBfusdForPortfolioMargin', 'fromAsset', fromAsset);\n            // verify required parameter 'targetAsset' is not null or undefined\n            assertParamExists('redeemBfusdForPortfolioMargin', 'targetAsset', targetAsset);\n            // verify required parameter 'amount' is not null or undefined\n            assertParamExists('redeemBfusdForPortfolioMargin', 'amount', amount);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (fromAsset !== undefined && fromAsset !== null) {\n                localVarQueryParameter['fromAsset'] = fromAsset;\n            }\n\n            if (targetAsset !== undefined && targetAsset !== null) {\n                localVarQueryParameter['targetAsset'] = targetAsset;\n            }\n\n            if (amount !== undefined && amount !== null) {\n                localVarQueryParameter['amount'] = amount;\n            }\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/redeem',\n                method: 'POST',\n                params: localVarQueryParameter,\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} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        repayFuturesNegativeBalance: async (\n            from?: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (from !== undefined && from !== null) {\n                localVarQueryParameter['from'] = from;\n            }\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                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Transfer LDUSDT as collateral for all types of Portfolio Margin account\n         *\n         * Weight: 1500\n         *\n         * @summary Transfer LDUSDT for Portfolio Margin(TRADE)\n         * @param {string} asset `LDUSDT` only\n         * @param {string} transferType `EARN_TO_FUTURE` /`FUTURE_TO_EARN`\n         * @param {number} amount\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        transferLdusdtForPortfolioMargin: async (\n            asset: string,\n            transferType: string,\n            amount: number,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'asset' is not null or undefined\n            assertParamExists('transferLdusdtForPortfolioMargin', 'asset', asset);\n            // verify required parameter 'transferType' is not null or undefined\n            assertParamExists('transferLdusdtForPortfolioMargin', 'transferType', transferType);\n            // verify required parameter 'amount' is not null or undefined\n            assertParamExists('transferLdusdtForPortfolioMargin', 'amount', amount);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (asset !== undefined && asset !== null) {\n                localVarQueryParameter['asset'] = asset;\n            }\n\n            if (transferType !== undefined && transferType !== null) {\n                localVarQueryParameter['transferType'] = transferType;\n            }\n\n            if (amount !== undefined && amount !== null) {\n                localVarQueryParameter['amount'] = amount;\n            }\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                params: localVarQueryParameter,\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     * 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 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     * Mint BFUSD for all types of Portfolio Margin account\n     *\n     * Weight: 1500\n     *\n     * @summary Mint BFUSD for Portfolio Margin(TRADE)\n     * @param {MintBfusdForPortfolioMarginRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    mintBfusdForPortfolioMargin(\n        requestParameters: MintBfusdForPortfolioMarginRequest\n    ): Promise<RestApiResponse<MintBfusdForPortfolioMarginResponse>>;\n    /**\n     * Repay Portfolio Margin Pro Bankruptcy Loan\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     * Redeem BFUSD for all types of Portfolio Margin account\n     *\n     * Weight: 1500\n     *\n     * @summary Redeem BFUSD for Portfolio Margin(TRADE)\n     * @param {RedeemBfusdForPortfolioMarginRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    redeemBfusdForPortfolioMargin(\n        requestParameters: RedeemBfusdForPortfolioMarginRequest\n    ): Promise<RestApiResponse<RedeemBfusdForPortfolioMarginResponse>>;\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     * Transfer LDUSDT as collateral for all types of Portfolio Margin account\n     *\n     * Weight: 1500\n     *\n     * @summary Transfer LDUSDT for Portfolio Margin(TRADE)\n     * @param {TransferLdusdtForPortfolioMarginRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    transferLdusdtForPortfolioMargin(\n        requestParameters: TransferLdusdtForPortfolioMarginRequest\n    ): Promise<RestApiResponse<TransferLdusdtForPortfolioMarginResponse>>;\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}\n     * @memberof AccountApiBnbTransfer\n     */\n    readonly recvWindow?: number;\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}\n     * @memberof AccountApiChangeAutoRepayFuturesStatus\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for fundAutoCollection operation in AccountApi.\n * @interface FundAutoCollectionRequest\n */\nexport interface FundAutoCollectionRequest {\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiFundAutoCollection\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for fundCollectionByAsset operation in AccountApi.\n * @interface FundCollectionByAssetRequest\n */\nexport interface FundCollectionByAssetRequest {\n    /**\n     * `LDUSDT` only\n     * @type {string}\n     * @memberof AccountApiFundCollectionByAsset\n     */\n    readonly asset: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiFundCollectionByAsset\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getAutoRepayFuturesStatus operation in AccountApi.\n * @interface GetAutoRepayFuturesStatusRequest\n */\nexport interface GetAutoRepayFuturesStatusRequest {\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiGetAutoRepayFuturesStatus\n     */\n    readonly recvWindow?: number;\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}\n     * @memberof AccountApiGetPortfolioMarginProAccountBalance\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getPortfolioMarginProAccountInfo operation in AccountApi.\n * @interface GetPortfolioMarginProAccountInfoRequest\n */\nexport interface GetPortfolioMarginProAccountInfoRequest {\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiGetPortfolioMarginProAccountInfo\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getPortfolioMarginProSpanAccountInfo operation in AccountApi.\n * @interface GetPortfolioMarginProSpanAccountInfoRequest\n */\nexport interface GetPortfolioMarginProSpanAccountInfoRequest {\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiGetPortfolioMarginProSpanAccountInfo\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getTransferableEarnAssetBalanceForPortfolioMargin operation in AccountApi.\n * @interface GetTransferableEarnAssetBalanceForPortfolioMarginRequest\n */\nexport interface GetTransferableEarnAssetBalanceForPortfolioMarginRequest {\n    /**\n     * `LDUSDT` only\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}\n     * @memberof AccountApiGetTransferableEarnAssetBalanceForPortfolioMargin\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for mintBfusdForPortfolioMargin operation in AccountApi.\n * @interface MintBfusdForPortfolioMarginRequest\n */\nexport interface MintBfusdForPortfolioMarginRequest {\n    /**\n     * `BFUSD` only\n     * @type {string}\n     * @memberof AccountApiMintBfusdForPortfolioMargin\n     */\n    readonly fromAsset: string;\n\n    /**\n     * `USDT` `USDC`\n     * @type {string}\n     * @memberof AccountApiMintBfusdForPortfolioMargin\n     */\n    readonly targetAsset: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiMintBfusdForPortfolioMargin\n     */\n    readonly amount: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiMintBfusdForPortfolioMargin\n     */\n    readonly recvWindow?: number;\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}\n     * @memberof AccountApiPortfolioMarginProBankruptcyLoanRepay\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for queryPortfolioMarginProBankruptcyLoanAmount operation in AccountApi.\n * @interface QueryPortfolioMarginProBankruptcyLoanAmountRequest\n */\nexport interface QueryPortfolioMarginProBankruptcyLoanAmountRequest {\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiQueryPortfolioMarginProBankruptcyLoanAmount\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for queryPortfolioMarginProBankruptcyLoanRepayHistory operation in AccountApi.\n * @interface QueryPortfolioMarginProBankruptcyLoanRepayHistoryRequest\n */\nexport interface QueryPortfolioMarginProBankruptcyLoanRepayHistoryRequest {\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiQueryPortfolioMarginProBankruptcyLoanRepayHistory\n     */\n    readonly startTime?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiQueryPortfolioMarginProBankruptcyLoanRepayHistory\n     */\n    readonly endTime?: number;\n\n    /**\n     * Currently querying page. Start from 1. Default:1\n     * @type {number}\n     * @memberof AccountApiQueryPortfolioMarginProBankruptcyLoanRepayHistory\n     */\n    readonly current?: number;\n\n    /**\n     * Default:10 Max:100\n     * @type {number}\n     * @memberof AccountApiQueryPortfolioMarginProBankruptcyLoanRepayHistory\n     */\n    readonly size?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiQueryPortfolioMarginProBankruptcyLoanRepayHistory\n     */\n    readonly recvWindow?: number;\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}\n     * @memberof AccountApiQueryPortfolioMarginProNegativeBalanceInterestHistory\n     */\n    readonly startTime?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiQueryPortfolioMarginProNegativeBalanceInterestHistory\n     */\n    readonly endTime?: number;\n\n    /**\n     * Default:10 Max:100\n     * @type {number}\n     * @memberof AccountApiQueryPortfolioMarginProNegativeBalanceInterestHistory\n     */\n    readonly size?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiQueryPortfolioMarginProNegativeBalanceInterestHistory\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for redeemBfusdForPortfolioMargin operation in AccountApi.\n * @interface RedeemBfusdForPortfolioMarginRequest\n */\nexport interface RedeemBfusdForPortfolioMarginRequest {\n    /**\n     * `BFUSD` only\n     * @type {string}\n     * @memberof AccountApiRedeemBfusdForPortfolioMargin\n     */\n    readonly fromAsset: string;\n\n    /**\n     * `USDT` `USDC`\n     * @type {string}\n     * @memberof AccountApiRedeemBfusdForPortfolioMargin\n     */\n    readonly targetAsset: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiRedeemBfusdForPortfolioMargin\n     */\n    readonly amount: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiRedeemBfusdForPortfolioMargin\n     */\n    readonly recvWindow?: number;\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}\n     * @memberof AccountApiRepayFuturesNegativeBalance\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for transferLdusdtForPortfolioMargin operation in AccountApi.\n * @interface TransferLdusdtForPortfolioMarginRequest\n */\nexport interface TransferLdusdtForPortfolioMarginRequest {\n    /**\n     * `LDUSDT` only\n     * @type {string}\n     * @memberof AccountApiTransferLdusdtForPortfolioMargin\n     */\n    readonly asset: string;\n\n    /**\n     * `EARN_TO_FUTURE` /`FUTURE_TO_EARN`\n     * @type {string}\n     * @memberof AccountApiTransferLdusdtForPortfolioMargin\n     */\n    readonly transferType: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiTransferLdusdtForPortfolioMargin\n     */\n    readonly amount: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiTransferLdusdtForPortfolioMargin\n     */\n    readonly recvWindow?: number;\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.params,\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.params,\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.params,\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.params,\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.params,\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.params,\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.params,\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.params,\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.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Mint BFUSD for all types of Portfolio Margin account\n     *\n     * Weight: 1500\n     *\n     * @summary Mint BFUSD for Portfolio Margin(TRADE)\n     * @param {MintBfusdForPortfolioMarginRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<MintBfusdForPortfolioMarginResponse>>}\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/Mint-BFUSD-Portfolio-Margin Binance API Documentation}\n     */\n    public async mintBfusdForPortfolioMargin(\n        requestParameters: MintBfusdForPortfolioMarginRequest\n    ): Promise<RestApiResponse<MintBfusdForPortfolioMarginResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.mintBfusdForPortfolioMargin(\n            requestParameters?.fromAsset,\n            requestParameters?.targetAsset,\n            requestParameters?.amount,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<MintBfusdForPortfolioMarginResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Repay Portfolio Margin Pro Bankruptcy Loan\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.params,\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.params,\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.params,\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.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Redeem BFUSD for all types of Portfolio Margin account\n     *\n     * Weight: 1500\n     *\n     * @summary Redeem BFUSD for Portfolio Margin(TRADE)\n     * @param {RedeemBfusdForPortfolioMarginRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<RedeemBfusdForPortfolioMarginResponse>>}\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/Redeem-BFUSD-Portfolio-Margin Binance API Documentation}\n     */\n    public async redeemBfusdForPortfolioMargin(\n        requestParameters: RedeemBfusdForPortfolioMarginRequest\n    ): Promise<RestApiResponse<RedeemBfusdForPortfolioMarginResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.redeemBfusdForPortfolioMargin(\n                requestParameters?.fromAsset,\n                requestParameters?.targetAsset,\n                requestParameters?.amount,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<RedeemBfusdForPortfolioMarginResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\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.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Transfer LDUSDT as collateral for all types of Portfolio Margin account\n     *\n     * Weight: 1500\n     *\n     * @summary Transfer LDUSDT for Portfolio Margin(TRADE)\n     * @param {TransferLdusdtForPortfolioMarginRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<TransferLdusdtForPortfolioMarginResponse>>}\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 transferLdusdtForPortfolioMargin(\n        requestParameters: TransferLdusdtForPortfolioMarginRequest\n    ): Promise<RestApiResponse<TransferLdusdtForPortfolioMarginResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.transferLdusdtForPortfolioMargin(\n                requestParameters?.asset,\n                requestParameters?.transferType,\n                requestParameters?.amount,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<TransferLdusdtForPortfolioMarginResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\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\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                params: localVarQueryParameter,\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\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                params: localVarQueryParameter,\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} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        portfolioMarginProTieredCollateralRate: async (\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: 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                params: localVarQueryParameter,\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\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                params: localVarQueryParameter,\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}\n     * @memberof MarketDataApiPortfolioMarginProTieredCollateralRate\n     */\n    readonly recvWindow?: number;\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.params,\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.params,\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.params,\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.params,\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    FundAutoCollectionRequest,\n    FundCollectionByAssetRequest,\n    GetAutoRepayFuturesStatusRequest,\n    GetPortfolioMarginProAccountBalanceRequest,\n    GetPortfolioMarginProAccountInfoRequest,\n    GetPortfolioMarginProSpanAccountInfoRequest,\n    GetTransferableEarnAssetBalanceForPortfolioMarginRequest,\n    MintBfusdForPortfolioMarginRequest,\n    PortfolioMarginProBankruptcyLoanRepayRequest,\n    QueryPortfolioMarginProBankruptcyLoanAmountRequest,\n    QueryPortfolioMarginProBankruptcyLoanRepayHistoryRequest,\n    QueryPortfolioMarginProNegativeBalanceInterestHistoryRequest,\n    RedeemBfusdForPortfolioMarginRequest,\n    RepayFuturesNegativeBalanceRequest,\n    TransferLdusdtForPortfolioMarginRequest,\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    FundAutoCollectionResponse,\n    FundCollectionByAssetResponse,\n    GetAutoRepayFuturesStatusResponse,\n    GetPortfolioMarginProAccountBalanceResponse,\n    GetPortfolioMarginProAccountInfoResponse,\n    GetPortfolioMarginProSpanAccountInfoResponse,\n    GetTransferableEarnAssetBalanceForPortfolioMarginResponse,\n    MintBfusdForPortfolioMarginResponse,\n    PortfolioMarginProBankruptcyLoanRepayResponse,\n    QueryPortfolioMarginProBankruptcyLoanAmountResponse,\n    QueryPortfolioMarginProBankruptcyLoanRepayHistoryResponse,\n    QueryPortfolioMarginProNegativeBalanceInterestHistoryResponse,\n    RedeemBfusdForPortfolioMarginResponse,\n    RepayFuturesNegativeBalanceResponse,\n    TransferLdusdtForPortfolioMarginResponse,\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 params - Query 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        params: Record<string, unknown> = {}\n    ): Promise<RestApiResponse<T>> {\n        return sendRequest<T>(this.configuration, endpoint, method, params, undefined);\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 params - Query 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        params: Record<string, unknown> = {}\n    ): Promise<RestApiResponse<T>> {\n        return sendRequest<T>(this.configuration, endpoint, method, params, 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     * @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     * @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     * 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     * @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     * @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     * @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 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     * @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     * @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     * @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     * @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     * Mint BFUSD for all types of Portfolio Margin account\n     *\n     * Weight: 1500\n     *\n     * @summary Mint BFUSD for Portfolio Margin(TRADE)\n     * @param {MintBfusdForPortfolioMarginRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<MintBfusdForPortfolioMarginResponse>>}\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/Mint-BFUSD-Portfolio-Margin Binance API Documentation}\n     */\n    mintBfusdForPortfolioMargin(\n        requestParameters: MintBfusdForPortfolioMarginRequest\n    ): Promise<RestApiResponse<MintBfusdForPortfolioMarginResponse>> {\n        return this.accountApi.mintBfusdForPortfolioMargin(requestParameters);\n    }\n\n    /**\n     * Repay Portfolio Margin Pro Bankruptcy Loan\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     * @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     * @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     * @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     * @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     * Redeem BFUSD for all types of Portfolio Margin account\n     *\n     * Weight: 1500\n     *\n     * @summary Redeem BFUSD for Portfolio Margin(TRADE)\n     * @param {RedeemBfusdForPortfolioMarginRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<RedeemBfusdForPortfolioMarginResponse>>}\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/Redeem-BFUSD-Portfolio-Margin Binance API Documentation}\n     */\n    redeemBfusdForPortfolioMargin(\n        requestParameters: RedeemBfusdForPortfolioMarginRequest\n    ): Promise<RestApiResponse<RedeemBfusdForPortfolioMarginResponse>> {\n        return this.accountApi.redeemBfusdForPortfolioMargin(requestParameters);\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     * @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     * Transfer LDUSDT as collateral for all types of Portfolio Margin account\n     *\n     * Weight: 1500\n     *\n     * @summary Transfer LDUSDT for Portfolio Margin(TRADE)\n     * @param {TransferLdusdtForPortfolioMarginRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<TransferLdusdtForPortfolioMarginResponse>>}\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    transferLdusdtForPortfolioMargin(\n        requestParameters: TransferLdusdtForPortfolioMarginRequest\n    ): Promise<RestApiResponse<TransferLdusdtForPortfolioMarginResponse>> {\n        return this.accountApi.transferLdusdtForPortfolioMargin(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     * @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     * @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     * @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     * @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 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","/**\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        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\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","export {\n    DerivativesTradingPortfolioMarginPro,\n    ConfigurationDerivativesTradingPortfolioMarginPro,\n} from './derivatives-trading-portfolio-margin-pro';\nexport * as DerivativesTradingPortfolioMarginProRestAPI from './rest-api';\n\nexport * as DerivativesTradingPortfolioMarginProWebsocketStreams from './websocket-streams';\n\nexport {\n    DERIVATIVES_TRADING_PORTFOLIO_MARGIN_PRO_REST_API_PROD_URL,\n    DERIVATIVES_TRADING_PORTFOLIO_MARGIN_PRO_WS_STREAMS_PROD_URL,\n    ConnectorClientError,\n    RequiredError,\n    UnauthorizedError,\n    ForbiddenError,\n    TooManyRequestsError,\n    RateLimitBanError,\n    ServerError,\n    NetworkError,\n    NotFoundError,\n    BadRequestError,\n} from '@binance/common';\n"],"mappings":"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","names":["ConfigurationRestAPI","ConfigurationWebsocketStreams","sendRequest","sendRequest","sendRequest","WebsocketStreamsBase","WebsocketStreamsBase","ConfigurationRestAPI","ConfigurationWebsocketStreams","DERIVATIVES_TRADING_PORTFOLIO_MARGIN_PRO_REST_API_PROD_URL","DERIVATIVES_TRADING_PORTFOLIO_MARGIN_PRO_WS_STREAMS_PROD_URL"]}