import { BadRequestError, ConfigurationRestAPI, ConfigurationWebsocketStreams, ConnectorClientError, DERIVATIVES_TRADING_PORTFOLIO_MARGIN_PRO_REST_API_PROD_URL, DERIVATIVES_TRADING_PORTFOLIO_MARGIN_PRO_WS_STREAMS_PROD_URL, ForbiddenError, NetworkError, NotFoundError, RateLimitBanError, RequiredError, RestApiResponse, ServerError, TooManyRequestsError, UnauthorizedError, WebsocketStream, WebsocketStreamsBase } from "@binance/common";

//#region rolldown:runtime

//#endregion
//#region src/rest-api/types/bnb-transfer-response.d.ts
/**
 * Binance Derivatives Trading Portfolio Margin Pro REST API
 *
 * OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin Pro REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface BnbTransferResponse
 */
interface BnbTransferResponse {
  /**
   *
   * @type {number | bigint}
   * @memberof BnbTransferResponse
   */
  tranId?: number | bigint;
}
//#endregion
//#region src/rest-api/types/change-auto-repay-futures-status-response.d.ts
/**
 * Binance Derivatives Trading Portfolio Margin Pro REST API
 *
 * OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin Pro REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface ChangeAutoRepayFuturesStatusResponse
 */
interface ChangeAutoRepayFuturesStatusResponse {
  /**
   *
   * @type {string}
   * @memberof ChangeAutoRepayFuturesStatusResponse
   */
  msg?: string;
}
//#endregion
//#region src/rest-api/types/delete-margin-call-level-response.d.ts
/**
 * Binance Derivatives Trading Portfolio Margin Pro REST API
 *
 * OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin Pro REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface DeleteMarginCallLevelResponse
 */
interface DeleteMarginCallLevelResponse {
  /**
   *
   * @type {string}
   * @memberof DeleteMarginCallLevelResponse
   */
  msg?: string;
}
//#endregion
//#region src/rest-api/types/fund-auto-collection-response.d.ts
/**
 * Binance Derivatives Trading Portfolio Margin Pro REST API
 *
 * OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin Pro REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface FundAutoCollectionResponse
 */
interface FundAutoCollectionResponse {
  /**
   *
   * @type {string}
   * @memberof FundAutoCollectionResponse
   */
  msg?: string;
}
//#endregion
//#region src/rest-api/types/fund-collection-by-asset-response.d.ts
/**
 * Binance Derivatives Trading Portfolio Margin Pro REST API
 *
 * OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin Pro REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface FundCollectionByAssetResponse
 */
interface FundCollectionByAssetResponse {
  /**
   *
   * @type {string}
   * @memberof FundCollectionByAssetResponse
   */
  msg?: string;
}
//#endregion
//#region src/rest-api/types/get-auto-repay-futures-status-response.d.ts
/**
 * Binance Derivatives Trading Portfolio Margin Pro REST API
 *
 * OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin Pro REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface GetAutoRepayFuturesStatusResponse
 */
interface GetAutoRepayFuturesStatusResponse {
  /**
   *
   * @type {boolean}
   * @memberof GetAutoRepayFuturesStatusResponse
   */
  autoRepay?: boolean;
}
//#endregion
//#region src/rest-api/types/get-delta-mode-status-response.d.ts
/**
 * Binance Derivatives Trading Portfolio Margin Pro REST API
 *
 * OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin Pro REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface GetDeltaModeStatusResponse
 */
interface GetDeltaModeStatusResponse {
  /**
   *
   * @type {boolean}
   * @memberof GetDeltaModeStatusResponse
   */
  deltaEnabled?: boolean;
}
//#endregion
//#region src/rest-api/types/get-margin-call-level-response.d.ts
/**
 * Binance Derivatives Trading Portfolio Margin Pro REST API
 *
 * OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin Pro REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface GetMarginCallLevelResponse
 */
interface GetMarginCallLevelResponse {
  /**
   *
   * @type {string}
   * @memberof GetMarginCallLevelResponse
   */
  marginCallLevel?: string;
}
//#endregion
//#region src/rest-api/types/get-portfolio-margin-asset-leverage-response-inner.d.ts
/**
 * Binance Derivatives Trading Portfolio Margin Pro REST API
 *
 * OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin Pro REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface GetPortfolioMarginAssetLeverageResponseInner
 */
interface GetPortfolioMarginAssetLeverageResponseInner {
  /**
   *
   * @type {string}
   * @memberof GetPortfolioMarginAssetLeverageResponseInner
   */
  asset?: string;
  /**
   *
   * @type {number | bigint}
   * @memberof GetPortfolioMarginAssetLeverageResponseInner
   */
  leverage?: number | bigint;
}
//#endregion
//#region src/rest-api/types/get-portfolio-margin-asset-leverage-response.d.ts
/**
 *
 * @export
 * @interface GetPortfolioMarginAssetLeverageResponse
 */
interface GetPortfolioMarginAssetLeverageResponse extends Array<GetPortfolioMarginAssetLeverageResponseInner> {}
//#endregion
//#region src/rest-api/types/get-portfolio-margin-pro-account-balance-response-inner.d.ts
/**
 * Binance Derivatives Trading Portfolio Margin Pro REST API
 *
 * OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin Pro REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface GetPortfolioMarginProAccountBalanceResponseInner
 */
interface GetPortfolioMarginProAccountBalanceResponseInner {
  /**
   *
   * @type {string}
   * @memberof GetPortfolioMarginProAccountBalanceResponseInner
   */
  asset?: string;
  /**
   *
   * @type {string}
   * @memberof GetPortfolioMarginProAccountBalanceResponseInner
   */
  totalWalletBalance?: string;
  /**
   *
   * @type {string}
   * @memberof GetPortfolioMarginProAccountBalanceResponseInner
   */
  crossMarginAsset?: string;
  /**
   *
   * @type {string}
   * @memberof GetPortfolioMarginProAccountBalanceResponseInner
   */
  crossMarginBorrowed?: string;
  /**
   *
   * @type {string}
   * @memberof GetPortfolioMarginProAccountBalanceResponseInner
   */
  crossMarginFree?: string;
  /**
   *
   * @type {string}
   * @memberof GetPortfolioMarginProAccountBalanceResponseInner
   */
  crossMarginInterest?: string;
  /**
   *
   * @type {string}
   * @memberof GetPortfolioMarginProAccountBalanceResponseInner
   */
  crossMarginLocked?: string;
  /**
   *
   * @type {string}
   * @memberof GetPortfolioMarginProAccountBalanceResponseInner
   */
  umWalletBalance?: string;
  /**
   *
   * @type {string}
   * @memberof GetPortfolioMarginProAccountBalanceResponseInner
   */
  umUnrealizedPNL?: string;
  /**
   *
   * @type {string}
   * @memberof GetPortfolioMarginProAccountBalanceResponseInner
   */
  cmWalletBalance?: string;
  /**
   *
   * @type {string}
   * @memberof GetPortfolioMarginProAccountBalanceResponseInner
   */
  cmUnrealizedPNL?: string;
  /**
   *
   * @type {number | bigint}
   * @memberof GetPortfolioMarginProAccountBalanceResponseInner
   */
  updateTime?: number | bigint;
  /**
   *
   * @type {string}
   * @memberof GetPortfolioMarginProAccountBalanceResponseInner
   */
  negativeBalance?: string;
  /**
   *
   * @type {string}
   * @memberof GetPortfolioMarginProAccountBalanceResponseInner
   */
  optionWalletBalance?: string;
  /**
   *
   * @type {string}
   * @memberof GetPortfolioMarginProAccountBalanceResponseInner
   */
  optionEquity?: string;
}
//#endregion
//#region src/rest-api/types/get-portfolio-margin-pro-account-balance-response.d.ts
/**
 *
 * @export
 * @interface GetPortfolioMarginProAccountBalanceResponse
 */
interface GetPortfolioMarginProAccountBalanceResponse extends Array<GetPortfolioMarginProAccountBalanceResponseInner> {}
//#endregion
//#region src/rest-api/types/get-portfolio-margin-pro-account-info-response.d.ts
/**
 * Binance Derivatives Trading Portfolio Margin Pro REST API
 *
 * OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin Pro REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface GetPortfolioMarginProAccountInfoResponse
 */
interface GetPortfolioMarginProAccountInfoResponse {
  /**
   *
   * @type {string}
   * @memberof GetPortfolioMarginProAccountInfoResponse
   */
  uniMMR?: string;
  /**
   *
   * @type {string}
   * @memberof GetPortfolioMarginProAccountInfoResponse
   */
  accountEquity?: string;
  /**
   *
   * @type {string}
   * @memberof GetPortfolioMarginProAccountInfoResponse
   */
  actualEquity?: string;
  /**
   *
   * @type {string}
   * @memberof GetPortfolioMarginProAccountInfoResponse
   */
  accountMaintMargin?: string;
  /**
   *
   * @type {string}
   * @memberof GetPortfolioMarginProAccountInfoResponse
   */
  accountInitialMargin?: string;
  /**
   *
   * @type {string}
   * @memberof GetPortfolioMarginProAccountInfoResponse
   */
  totalAvailableBalance?: string;
  /**
   *
   * @type {string}
   * @memberof GetPortfolioMarginProAccountInfoResponse
   */
  accountStatus?: string;
  /**
   *
   * @type {string}
   * @memberof GetPortfolioMarginProAccountInfoResponse
   */
  accountType?: string;
}
//#endregion
//#region src/rest-api/types/get-portfolio-margin-pro-span-account-info-response-risk-unit-mmlist-inner.d.ts
/**
 * Binance Derivatives Trading Portfolio Margin Pro REST API
 *
 * OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin Pro REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface GetPortfolioMarginProSpanAccountInfoResponseRiskUnitMMListInner
 */
interface GetPortfolioMarginProSpanAccountInfoResponseRiskUnitMMListInner {
  /**
   *
   * @type {string}
   * @memberof GetPortfolioMarginProSpanAccountInfoResponseRiskUnitMMListInner
   */
  asset?: string;
  /**
   *
   * @type {string}
   * @memberof GetPortfolioMarginProSpanAccountInfoResponseRiskUnitMMListInner
   */
  uniMaintainUsd?: string;
}
//#endregion
//#region src/rest-api/types/get-portfolio-margin-pro-span-account-info-response.d.ts
/**
 *
 * @export
 * @interface GetPortfolioMarginProSpanAccountInfoResponse
 */
interface GetPortfolioMarginProSpanAccountInfoResponse {
  /**
   *
   * @type {string}
   * @memberof GetPortfolioMarginProSpanAccountInfoResponse
   */
  uniMMR?: string;
  /**
   *
   * @type {string}
   * @memberof GetPortfolioMarginProSpanAccountInfoResponse
   */
  accountEquity?: string;
  /**
   *
   * @type {string}
   * @memberof GetPortfolioMarginProSpanAccountInfoResponse
   */
  actualEquity?: string;
  /**
   *
   * @type {string}
   * @memberof GetPortfolioMarginProSpanAccountInfoResponse
   */
  accountMaintMargin?: string;
  /**
   *
   * @type {Array<GetPortfolioMarginProSpanAccountInfoResponseRiskUnitMMListInner>}
   * @memberof GetPortfolioMarginProSpanAccountInfoResponse
   */
  riskUnitMMList?: Array<GetPortfolioMarginProSpanAccountInfoResponseRiskUnitMMListInner>;
  /**
   *
   * @type {string}
   * @memberof GetPortfolioMarginProSpanAccountInfoResponse
   */
  marginMM?: string;
  /**
   *
   * @type {string}
   * @memberof GetPortfolioMarginProSpanAccountInfoResponse
   */
  otherMM?: string;
  /**
   *
   * @type {string}
   * @memberof GetPortfolioMarginProSpanAccountInfoResponse
   */
  accountStatus?: string;
  /**
   *
   * @type {string}
   * @memberof GetPortfolioMarginProSpanAccountInfoResponse
   */
  accountType?: string;
}
//#endregion
//#region src/rest-api/types/get-transferable-earn-asset-balance-for-portfolio-margin-response.d.ts
/**
 * Binance Derivatives Trading Portfolio Margin Pro REST API
 *
 * OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin Pro REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface GetTransferableEarnAssetBalanceForPortfolioMarginResponse
 */
interface GetTransferableEarnAssetBalanceForPortfolioMarginResponse {
  /**
   *
   * @type {string}
   * @memberof GetTransferableEarnAssetBalanceForPortfolioMarginResponse
   */
  asset?: string;
  /**
   *
   * @type {string}
   * @memberof GetTransferableEarnAssetBalanceForPortfolioMarginResponse
   */
  amount?: string;
}
//#endregion
//#region src/rest-api/types/portfolio-margin-collateral-rate-response-inner.d.ts
/**
 * Binance Derivatives Trading Portfolio Margin Pro REST API
 *
 * OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin Pro REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface PortfolioMarginCollateralRateResponseInner
 */
interface PortfolioMarginCollateralRateResponseInner {
  /**
   *
   * @type {string}
   * @memberof PortfolioMarginCollateralRateResponseInner
   */
  asset?: string;
  /**
   *
   * @type {string}
   * @memberof PortfolioMarginCollateralRateResponseInner
   */
  collateralRate?: string;
}
//#endregion
//#region src/rest-api/types/portfolio-margin-collateral-rate-response.d.ts
/**
 *
 * @export
 * @interface PortfolioMarginCollateralRateResponse
 */
interface PortfolioMarginCollateralRateResponse extends Array<PortfolioMarginCollateralRateResponseInner> {}
//#endregion
//#region src/rest-api/types/portfolio-margin-pro-bankruptcy-loan-repay-response.d.ts
/**
 * Binance Derivatives Trading Portfolio Margin Pro REST API
 *
 * OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin Pro REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface PortfolioMarginProBankruptcyLoanRepayResponse
 */
interface PortfolioMarginProBankruptcyLoanRepayResponse {
  /**
   *
   * @type {number | bigint}
   * @memberof PortfolioMarginProBankruptcyLoanRepayResponse
   */
  tranId?: number | bigint;
}
//#endregion
//#region src/rest-api/types/portfolio-margin-pro-tiered-collateral-rate-response-inner-collateral-info-inner.d.ts
/**
 * Binance Derivatives Trading Portfolio Margin Pro REST API
 *
 * OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin Pro REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface PortfolioMarginProTieredCollateralRateResponseInnerCollateralInfoInner
 */
interface PortfolioMarginProTieredCollateralRateResponseInnerCollateralInfoInner {
  /**
   *
   * @type {string}
   * @memberof PortfolioMarginProTieredCollateralRateResponseInnerCollateralInfoInner
   */
  tierFloor?: string;
  /**
   *
   * @type {string}
   * @memberof PortfolioMarginProTieredCollateralRateResponseInnerCollateralInfoInner
   */
  tierCap?: string;
  /**
   *
   * @type {string}
   * @memberof PortfolioMarginProTieredCollateralRateResponseInnerCollateralInfoInner
   */
  collateralRate?: string;
  /**
   *
   * @type {string}
   * @memberof PortfolioMarginProTieredCollateralRateResponseInnerCollateralInfoInner
   */
  cum?: string;
}
//#endregion
//#region src/rest-api/types/portfolio-margin-pro-tiered-collateral-rate-response-inner.d.ts
/**
 *
 * @export
 * @interface PortfolioMarginProTieredCollateralRateResponseInner
 */
interface PortfolioMarginProTieredCollateralRateResponseInner {
  /**
   *
   * @type {string}
   * @memberof PortfolioMarginProTieredCollateralRateResponseInner
   */
  asset?: string;
  /**
   *
   * @type {Array<PortfolioMarginProTieredCollateralRateResponseInnerCollateralInfoInner>}
   * @memberof PortfolioMarginProTieredCollateralRateResponseInner
   */
  collateralInfo?: Array<PortfolioMarginProTieredCollateralRateResponseInnerCollateralInfoInner>;
}
//#endregion
//#region src/rest-api/types/portfolio-margin-pro-tiered-collateral-rate-response.d.ts
/**
 *
 * @export
 * @interface PortfolioMarginProTieredCollateralRateResponse
 */
interface PortfolioMarginProTieredCollateralRateResponse extends Array<PortfolioMarginProTieredCollateralRateResponseInner> {}
//#endregion
//#region src/rest-api/types/query-portfolio-margin-asset-index-price-response-inner.d.ts
/**
 * Binance Derivatives Trading Portfolio Margin Pro REST API
 *
 * OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin Pro REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface QueryPortfolioMarginAssetIndexPriceResponseInner
 */
interface QueryPortfolioMarginAssetIndexPriceResponseInner {
  /**
   *
   * @type {string}
   * @memberof QueryPortfolioMarginAssetIndexPriceResponseInner
   */
  asset?: string;
  /**
   *
   * @type {string}
   * @memberof QueryPortfolioMarginAssetIndexPriceResponseInner
   */
  assetIndexPrice?: string;
  /**
   *
   * @type {number | bigint}
   * @memberof QueryPortfolioMarginAssetIndexPriceResponseInner
   */
  time?: number | bigint;
}
//#endregion
//#region src/rest-api/types/query-portfolio-margin-asset-index-price-response.d.ts
/**
 *
 * @export
 * @interface QueryPortfolioMarginAssetIndexPriceResponse
 */
interface QueryPortfolioMarginAssetIndexPriceResponse extends Array<QueryPortfolioMarginAssetIndexPriceResponseInner> {}
//#endregion
//#region src/rest-api/types/query-portfolio-margin-pro-bankruptcy-loan-amount-response.d.ts
/**
 * Binance Derivatives Trading Portfolio Margin Pro REST API
 *
 * OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin Pro REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface QueryPortfolioMarginProBankruptcyLoanAmountResponse
 */
interface QueryPortfolioMarginProBankruptcyLoanAmountResponse {
  /**
   *
   * @type {string}
   * @memberof QueryPortfolioMarginProBankruptcyLoanAmountResponse
   */
  asset?: string;
  /**
   *
   * @type {string}
   * @memberof QueryPortfolioMarginProBankruptcyLoanAmountResponse
   */
  amount?: string;
}
//#endregion
//#region src/rest-api/types/query-portfolio-margin-pro-bankruptcy-loan-repay-history-response-rows-inner.d.ts
/**
 * Binance Derivatives Trading Portfolio Margin Pro REST API
 *
 * OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin Pro REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface QueryPortfolioMarginProBankruptcyLoanRepayHistoryResponseRowsInner
 */
interface QueryPortfolioMarginProBankruptcyLoanRepayHistoryResponseRowsInner {
  /**
   *
   * @type {string}
   * @memberof QueryPortfolioMarginProBankruptcyLoanRepayHistoryResponseRowsInner
   */
  asset?: string;
  /**
   *
   * @type {string}
   * @memberof QueryPortfolioMarginProBankruptcyLoanRepayHistoryResponseRowsInner
   */
  amount?: string;
  /**
   *
   * @type {number | bigint}
   * @memberof QueryPortfolioMarginProBankruptcyLoanRepayHistoryResponseRowsInner
   */
  repayTime?: number | bigint;
}
//#endregion
//#region src/rest-api/types/query-portfolio-margin-pro-bankruptcy-loan-repay-history-response.d.ts
/**
 *
 * @export
 * @interface QueryPortfolioMarginProBankruptcyLoanRepayHistoryResponse
 */
interface QueryPortfolioMarginProBankruptcyLoanRepayHistoryResponse {
  /**
   *
   * @type {number | bigint}
   * @memberof QueryPortfolioMarginProBankruptcyLoanRepayHistoryResponse
   */
  total?: number | bigint;
  /**
   *
   * @type {Array<QueryPortfolioMarginProBankruptcyLoanRepayHistoryResponseRowsInner>}
   * @memberof QueryPortfolioMarginProBankruptcyLoanRepayHistoryResponse
   */
  rows?: Array<QueryPortfolioMarginProBankruptcyLoanRepayHistoryResponseRowsInner>;
}
//#endregion
//#region src/rest-api/types/query-portfolio-margin-pro-negative-balance-interest-history-response-inner.d.ts
/**
 * Binance Derivatives Trading Portfolio Margin Pro REST API
 *
 * OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin Pro REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface QueryPortfolioMarginProNegativeBalanceInterestHistoryResponseInner
 */
interface QueryPortfolioMarginProNegativeBalanceInterestHistoryResponseInner {
  /**
   *
   * @type {string}
   * @memberof QueryPortfolioMarginProNegativeBalanceInterestHistoryResponseInner
   */
  asset?: string;
  /**
   *
   * @type {string}
   * @memberof QueryPortfolioMarginProNegativeBalanceInterestHistoryResponseInner
   */
  interest?: string;
  /**
   *
   * @type {number | bigint}
   * @memberof QueryPortfolioMarginProNegativeBalanceInterestHistoryResponseInner
   */
  interestAccruedTime?: number | bigint;
  /**
   *
   * @type {string}
   * @memberof QueryPortfolioMarginProNegativeBalanceInterestHistoryResponseInner
   */
  interestRate?: string;
  /**
   *
   * @type {string}
   * @memberof QueryPortfolioMarginProNegativeBalanceInterestHistoryResponseInner
   */
  principal?: string;
}
//#endregion
//#region src/rest-api/types/query-portfolio-margin-pro-negative-balance-interest-history-response.d.ts
/**
 *
 * @export
 * @interface QueryPortfolioMarginProNegativeBalanceInterestHistoryResponse
 */
interface QueryPortfolioMarginProNegativeBalanceInterestHistoryResponse extends Array<QueryPortfolioMarginProNegativeBalanceInterestHistoryResponseInner> {}
//#endregion
//#region src/rest-api/types/repay-futures-negative-balance-response.d.ts
/**
 * Binance Derivatives Trading Portfolio Margin Pro REST API
 *
 * OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin Pro REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface RepayFuturesNegativeBalanceResponse
 */
interface RepayFuturesNegativeBalanceResponse {
  /**
   *
   * @type {string}
   * @memberof RepayFuturesNegativeBalanceResponse
   */
  msg?: string;
}
//#endregion
//#region src/rest-api/types/set-margin-call-level-response.d.ts
/**
 * Binance Derivatives Trading Portfolio Margin Pro REST API
 *
 * OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin Pro REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface SetMarginCallLevelResponse
 */
interface SetMarginCallLevelResponse {
  /**
   *
   * @type {string}
   * @memberof SetMarginCallLevelResponse
   */
  marginCallLevel?: string;
}
//#endregion
//#region src/rest-api/types/switch-delta-mode-response.d.ts
/**
 * Binance Derivatives Trading Portfolio Margin Pro REST API
 *
 * OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin Pro REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface SwitchDeltaModeResponse
 */
interface SwitchDeltaModeResponse {
  /**
   *
   * @type {string}
   * @memberof SwitchDeltaModeResponse
   */
  msg?: string;
}
//#endregion
//#region src/rest-api/types/transfer-ldusdt-rwusd-for-portfolio-margin-response.d.ts
/**
 * Binance Derivatives Trading Portfolio Margin Pro REST API
 *
 * OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin Pro REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface TransferLdusdtRwusdForPortfolioMarginResponse
 */
interface TransferLdusdtRwusdForPortfolioMarginResponse {
  /**
   *
   * @type {string}
   * @memberof TransferLdusdtRwusdForPortfolioMarginResponse
   */
  msg?: string;
}
//#endregion
//#region src/rest-api/modules/account-api.d.ts
/**
 * AccountApi - interface
 * @interface AccountApi
 */
interface AccountApiInterface {
  /**
   * BNB transfer can be between Margin Account and USDM Account
   *
   *
   * You can only use this function 2 times per 10 minutes in a rolling manner
   *
   * Weight: 1500
   *
   * @summary BNB transfer(USER_DATA)
   * @param {BnbTransferRequest} requestParameters Request parameters.
   *
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @memberof AccountApiInterface
   */
  bnbTransfer(requestParameters: BnbTransferRequest): Promise<RestApiResponse<BnbTransferResponse>>;
  /**
   * Change Auto-repay-futures Status
   *
   * Weight: 1500
   *
   * @summary Change Auto-repay-futures Status(TRADE)
   * @param {ChangeAutoRepayFuturesStatusRequest} requestParameters Request parameters.
   *
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @memberof AccountApiInterface
   */
  changeAutoRepayFuturesStatus(requestParameters: ChangeAutoRepayFuturesStatusRequest): Promise<RestApiResponse<ChangeAutoRepayFuturesStatusResponse>>;
  /**
   * Delete the margin call level for a Portfolio Margin account.
   *
   * Weight: 1500
   *
   * @summary Delete Margin Call Level (USER_DATA)
   * @param {DeleteMarginCallLevelRequest} requestParameters Request parameters.
   *
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @memberof AccountApiInterface
   */
  deleteMarginCallLevel(requestParameters?: DeleteMarginCallLevelRequest): Promise<RestApiResponse<DeleteMarginCallLevelResponse>>;
  /**
   * Transfers all assets from Futures Account to Margin account
   *
   * The BNB would not be collected from UM-PM account to the Portfolio Margin account.
   * You can only use this function 500 times per hour in a rolling manner.
   *
   * Weight: 1500
   *
   * @summary Fund Auto-collection(USER_DATA)
   * @param {FundAutoCollectionRequest} requestParameters Request parameters.
   *
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @memberof AccountApiInterface
   */
  fundAutoCollection(requestParameters?: FundAutoCollectionRequest): Promise<RestApiResponse<FundAutoCollectionResponse>>;
  /**
   * Transfers specific asset from Futures Account to Margin account
   *
   * The BNB transfer is not be supported
   *
   * Weight: 60
   *
   * @summary Fund Collection by Asset(USER_DATA)
   * @param {FundCollectionByAssetRequest} requestParameters Request parameters.
   *
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @memberof AccountApiInterface
   */
  fundCollectionByAsset(requestParameters: FundCollectionByAssetRequest): Promise<RestApiResponse<FundCollectionByAssetResponse>>;
  /**
   * Query Auto-repay-futures Status
   *
   * Weight: 30
   *
   * @summary Get Auto-repay-futures Status(USER_DATA)
   * @param {GetAutoRepayFuturesStatusRequest} requestParameters Request parameters.
   *
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @memberof AccountApiInterface
   */
  getAutoRepayFuturesStatus(requestParameters?: GetAutoRepayFuturesStatusRequest): Promise<RestApiResponse<GetAutoRepayFuturesStatusResponse>>;
  /**
   * Query the Delta mode status of current account.
   *
   * Weight: 1500
   *
   * @summary Get Delta Mode Status(USER_DATA)
   * @param {GetDeltaModeStatusRequest} requestParameters Request parameters.
   *
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @memberof AccountApiInterface
   */
  getDeltaModeStatus(requestParameters?: GetDeltaModeStatusRequest): Promise<RestApiResponse<GetDeltaModeStatusResponse>>;
  /**
   * Get the margin call level for a Portfolio Margin account.
   *
   * Weight: 1500
   *
   * @summary Get Margin Call Level (USER_DATA)
   * @param {GetMarginCallLevelRequest} requestParameters Request parameters.
   *
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @memberof AccountApiInterface
   */
  getMarginCallLevel(requestParameters?: GetMarginCallLevelRequest): Promise<RestApiResponse<GetMarginCallLevelResponse>>;
  /**
   * Query Portfolio Margin Pro account balance
   *
   * Weight: 20
   *
   * @summary Get Portfolio Margin Pro Account Balance(USER_DATA)
   * @param {GetPortfolioMarginProAccountBalanceRequest} requestParameters Request parameters.
   *
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @memberof AccountApiInterface
   */
  getPortfolioMarginProAccountBalance(requestParameters?: GetPortfolioMarginProAccountBalanceRequest): Promise<RestApiResponse<GetPortfolioMarginProAccountBalanceResponse>>;
  /**
   * Get Portfolio Margin Pro Account Info
   *
   * Weight: 5
   *
   * @summary Get Portfolio Margin Pro Account Info(USER_DATA)
   * @param {GetPortfolioMarginProAccountInfoRequest} requestParameters Request parameters.
   *
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @memberof AccountApiInterface
   */
  getPortfolioMarginProAccountInfo(requestParameters?: GetPortfolioMarginProAccountInfoRequest): Promise<RestApiResponse<GetPortfolioMarginProAccountInfoResponse>>;
  /**
   * Get Portfolio Margin Pro SPAN Account Info (For Portfolio Margin Pro SPAN users only)
   *
   * Weight: 5
   *
   * @summary Get Portfolio Margin Pro SPAN Account Info(USER_DATA)
   * @param {GetPortfolioMarginProSpanAccountInfoRequest} requestParameters Request parameters.
   *
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @memberof AccountApiInterface
   */
  getPortfolioMarginProSpanAccountInfo(requestParameters?: GetPortfolioMarginProSpanAccountInfoRequest): Promise<RestApiResponse<GetPortfolioMarginProSpanAccountInfoResponse>>;
  /**
   * Get transferable earn asset balance for all types of Portfolio Margin account
   *
   * Weight: 1500
   *
   * @summary Get Transferable Earn Asset Balance for Portfolio Margin (USER_DATA)
   * @param {GetTransferableEarnAssetBalanceForPortfolioMarginRequest} requestParameters Request parameters.
   *
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @memberof AccountApiInterface
   */
  getTransferableEarnAssetBalanceForPortfolioMargin(requestParameters: GetTransferableEarnAssetBalanceForPortfolioMarginRequest): Promise<RestApiResponse<GetTransferableEarnAssetBalanceForPortfolioMarginResponse>>;
  /**
   * Repay Portfolio Margin Pro Bankruptcy Loan
   *
   * Please note that the API Key has enabled Spot & Margin Trading permissions to access this endpoint.
   *
   * Weight: 3000
   *
   * @summary Portfolio Margin Pro Bankruptcy Loan Repay
   * @param {PortfolioMarginProBankruptcyLoanRepayRequest} requestParameters Request parameters.
   *
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @memberof AccountApiInterface
   */
  portfolioMarginProBankruptcyLoanRepay(requestParameters?: PortfolioMarginProBankruptcyLoanRepayRequest): Promise<RestApiResponse<PortfolioMarginProBankruptcyLoanRepayResponse>>;
  /**
   * Query Portfolio Margin Pro Bankruptcy Loan Amount
   *
   * If there’s no classic portfolio margin bankruptcy loan, the amount would be 0
   *
   * Weight: 500
   *
   * @summary Query Portfolio Margin Pro Bankruptcy Loan Amount(USER_DATA)
   * @param {QueryPortfolioMarginProBankruptcyLoanAmountRequest} requestParameters Request parameters.
   *
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @memberof AccountApiInterface
   */
  queryPortfolioMarginProBankruptcyLoanAmount(requestParameters?: QueryPortfolioMarginProBankruptcyLoanAmountRequest): Promise<RestApiResponse<QueryPortfolioMarginProBankruptcyLoanAmountResponse>>;
  /**
   * Query repay history of pmloan for portfolio margin pro.
   *
   * `startTime` and `endTime` cannot be longer than 360 days
   * If `startTime` and `endTime` not sent, return records of the last 30 days by default.
   * If `startTime`is sent and `endTime` is not sent, return records of [startTime, startTime+30d].
   * If `startTime` is not sent and `endTime` is sent, return records of [endTime-30d, endTime].
   *
   * Weight: 500
   *
   * @summary Query Portfolio Margin Pro Bankruptcy Loan Repay History(USER_DATA)
   * @param {QueryPortfolioMarginProBankruptcyLoanRepayHistoryRequest} requestParameters Request parameters.
   *
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @memberof AccountApiInterface
   */
  queryPortfolioMarginProBankruptcyLoanRepayHistory(requestParameters?: QueryPortfolioMarginProBankruptcyLoanRepayHistoryRequest): Promise<RestApiResponse<QueryPortfolioMarginProBankruptcyLoanRepayHistoryResponse>>;
  /**
   * Query interest history of negative balance for portfolio margin.
   *
   * Weight: 50
   *
   * @summary Query Portfolio Margin Pro Negative Balance Interest History(USER_DATA)
   * @param {QueryPortfolioMarginProNegativeBalanceInterestHistoryRequest} requestParameters Request parameters.
   *
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @memberof AccountApiInterface
   */
  queryPortfolioMarginProNegativeBalanceInterestHistory(requestParameters?: QueryPortfolioMarginProNegativeBalanceInterestHistoryRequest): Promise<RestApiResponse<QueryPortfolioMarginProNegativeBalanceInterestHistoryResponse>>;
  /**
   * Repay futures Negative Balance
   *
   * Weight: 1500
   *
   * @summary Repay futures Negative Balance(USER_DATA)
   * @param {RepayFuturesNegativeBalanceRequest} requestParameters Request parameters.
   *
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @memberof AccountApiInterface
   */
  repayFuturesNegativeBalance(requestParameters?: RepayFuturesNegativeBalanceRequest): Promise<RestApiResponse<RepayFuturesNegativeBalanceResponse>>;
  /**
   * Set the margin call level for a Portfolio Margin account. When the account's uniMMR drops to the specified level, a notification will be sent via email and SMS.
   *
   * Weight: 1500
   *
   * @summary Set Margin Call Level (USER_DATA)
   * @param {SetMarginCallLevelRequest} requestParameters Request parameters.
   *
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @memberof AccountApiInterface
   */
  setMarginCallLevel(requestParameters: SetMarginCallLevelRequest): Promise<RestApiResponse<SetMarginCallLevelResponse>>;
  /**
   * Switch the Delta mode for existing PM PRO / PM RETAIL accounts.
   *
   * Weight: 1500
   *
   * @summary Switch Delta Mode(TRADE)
   * @param {SwitchDeltaModeRequest} requestParameters Request parameters.
   *
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @memberof AccountApiInterface
   */
  switchDeltaMode(requestParameters: SwitchDeltaModeRequest): Promise<RestApiResponse<SwitchDeltaModeResponse>>;
  /**
   * Transfer LDUSDT/RWUSD as collateral for all types of Portfolio Margin account
   *
   * Weight: 1500
   *
   * @summary Transfer LDUSDT/RWUSD for Portfolio Margin(TRADE)
   * @param {TransferLdusdtRwusdForPortfolioMarginRequest} requestParameters Request parameters.
   *
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @memberof AccountApiInterface
   */
  transferLdusdtRwusdForPortfolioMargin(requestParameters: TransferLdusdtRwusdForPortfolioMarginRequest): Promise<RestApiResponse<TransferLdusdtRwusdForPortfolioMarginResponse>>;
}
/**
 * Request parameters for bnbTransfer operation in AccountApi.
 * @interface BnbTransferRequest
 */
interface BnbTransferRequest {
  /**
   *
   * @type {number}
   * @memberof AccountApiBnbTransfer
   */
  readonly amount: number;
  /**
   * "TO_UM","FROM_UM"
   * @type {string}
   * @memberof AccountApiBnbTransfer
   */
  readonly transferSide: string;
  /**
   *
   * @type {number | bigint}
   * @memberof AccountApiBnbTransfer
   */
  readonly recvWindow?: number | bigint;
}
/**
 * Request parameters for changeAutoRepayFuturesStatus operation in AccountApi.
 * @interface ChangeAutoRepayFuturesStatusRequest
 */
interface ChangeAutoRepayFuturesStatusRequest {
  /**
   * Default: `true`; `false` for turn off the auto-repay futures negative balance function
   * @type {string}
   * @memberof AccountApiChangeAutoRepayFuturesStatus
   */
  readonly autoRepay: string;
  /**
   *
   * @type {number | bigint}
   * @memberof AccountApiChangeAutoRepayFuturesStatus
   */
  readonly recvWindow?: number | bigint;
}
/**
 * Request parameters for deleteMarginCallLevel operation in AccountApi.
 * @interface DeleteMarginCallLevelRequest
 */
interface DeleteMarginCallLevelRequest {
  /**
   *
   * @type {number | bigint}
   * @memberof AccountApiDeleteMarginCallLevel
   */
  readonly recvWindow?: number | bigint;
}
/**
 * Request parameters for fundAutoCollection operation in AccountApi.
 * @interface FundAutoCollectionRequest
 */
interface FundAutoCollectionRequest {
  /**
   *
   * @type {number | bigint}
   * @memberof AccountApiFundAutoCollection
   */
  readonly recvWindow?: number | bigint;
}
/**
 * Request parameters for fundCollectionByAsset operation in AccountApi.
 * @interface FundCollectionByAssetRequest
 */
interface FundCollectionByAssetRequest {
  /**
   * `LDUSDT` and `RWUSD`
   * @type {string}
   * @memberof AccountApiFundCollectionByAsset
   */
  readonly asset: string;
  /**
   *
   * @type {number | bigint}
   * @memberof AccountApiFundCollectionByAsset
   */
  readonly recvWindow?: number | bigint;
}
/**
 * Request parameters for getAutoRepayFuturesStatus operation in AccountApi.
 * @interface GetAutoRepayFuturesStatusRequest
 */
interface GetAutoRepayFuturesStatusRequest {
  /**
   *
   * @type {number | bigint}
   * @memberof AccountApiGetAutoRepayFuturesStatus
   */
  readonly recvWindow?: number | bigint;
}
/**
 * Request parameters for getDeltaModeStatus operation in AccountApi.
 * @interface GetDeltaModeStatusRequest
 */
interface GetDeltaModeStatusRequest {
  /**
   *
   * @type {number | bigint}
   * @memberof AccountApiGetDeltaModeStatus
   */
  readonly recvWindow?: number | bigint;
}
/**
 * Request parameters for getMarginCallLevel operation in AccountApi.
 * @interface GetMarginCallLevelRequest
 */
interface GetMarginCallLevelRequest {
  /**
   *
   * @type {number | bigint}
   * @memberof AccountApiGetMarginCallLevel
   */
  readonly recvWindow?: number | bigint;
}
/**
 * Request parameters for getPortfolioMarginProAccountBalance operation in AccountApi.
 * @interface GetPortfolioMarginProAccountBalanceRequest
 */
interface GetPortfolioMarginProAccountBalanceRequest {
  /**
   *
   * @type {string}
   * @memberof AccountApiGetPortfolioMarginProAccountBalance
   */
  readonly asset?: string;
  /**
   *
   * @type {number | bigint}
   * @memberof AccountApiGetPortfolioMarginProAccountBalance
   */
  readonly recvWindow?: number | bigint;
}
/**
 * Request parameters for getPortfolioMarginProAccountInfo operation in AccountApi.
 * @interface GetPortfolioMarginProAccountInfoRequest
 */
interface GetPortfolioMarginProAccountInfoRequest {
  /**
   *
   * @type {number | bigint}
   * @memberof AccountApiGetPortfolioMarginProAccountInfo
   */
  readonly recvWindow?: number | bigint;
}
/**
 * Request parameters for getPortfolioMarginProSpanAccountInfo operation in AccountApi.
 * @interface GetPortfolioMarginProSpanAccountInfoRequest
 */
interface GetPortfolioMarginProSpanAccountInfoRequest {
  /**
   *
   * @type {number | bigint}
   * @memberof AccountApiGetPortfolioMarginProSpanAccountInfo
   */
  readonly recvWindow?: number | bigint;
}
/**
 * Request parameters for getTransferableEarnAssetBalanceForPortfolioMargin operation in AccountApi.
 * @interface GetTransferableEarnAssetBalanceForPortfolioMarginRequest
 */
interface GetTransferableEarnAssetBalanceForPortfolioMarginRequest {
  /**
   * `LDUSDT` and `RWUSD`
   * @type {string}
   * @memberof AccountApiGetTransferableEarnAssetBalanceForPortfolioMargin
   */
  readonly asset: string;
  /**
   * `EARN_TO_FUTURE` /`FUTURE_TO_EARN`
   * @type {string}
   * @memberof AccountApiGetTransferableEarnAssetBalanceForPortfolioMargin
   */
  readonly transferType: string;
  /**
   *
   * @type {number | bigint}
   * @memberof AccountApiGetTransferableEarnAssetBalanceForPortfolioMargin
   */
  readonly recvWindow?: number | bigint;
}
/**
 * Request parameters for portfolioMarginProBankruptcyLoanRepay operation in AccountApi.
 * @interface PortfolioMarginProBankruptcyLoanRepayRequest
 */
interface PortfolioMarginProBankruptcyLoanRepayRequest {
  /**
   * SPOT or MARGIN，default SPOT
   * @type {string}
   * @memberof AccountApiPortfolioMarginProBankruptcyLoanRepay
   */
  readonly from?: string;
  /**
   *
   * @type {number | bigint}
   * @memberof AccountApiPortfolioMarginProBankruptcyLoanRepay
   */
  readonly recvWindow?: number | bigint;
}
/**
 * Request parameters for queryPortfolioMarginProBankruptcyLoanAmount operation in AccountApi.
 * @interface QueryPortfolioMarginProBankruptcyLoanAmountRequest
 */
interface QueryPortfolioMarginProBankruptcyLoanAmountRequest {
  /**
   *
   * @type {number | bigint}
   * @memberof AccountApiQueryPortfolioMarginProBankruptcyLoanAmount
   */
  readonly recvWindow?: number | bigint;
}
/**
 * Request parameters for queryPortfolioMarginProBankruptcyLoanRepayHistory operation in AccountApi.
 * @interface QueryPortfolioMarginProBankruptcyLoanRepayHistoryRequest
 */
interface QueryPortfolioMarginProBankruptcyLoanRepayHistoryRequest {
  /**
   *
   * @type {number | bigint}
   * @memberof AccountApiQueryPortfolioMarginProBankruptcyLoanRepayHistory
   */
  readonly startTime?: number | bigint;
  /**
   *
   * @type {number | bigint}
   * @memberof AccountApiQueryPortfolioMarginProBankruptcyLoanRepayHistory
   */
  readonly endTime?: number | bigint;
  /**
   * Currently querying page. Start from 1. Default:1
   * @type {number | bigint}
   * @memberof AccountApiQueryPortfolioMarginProBankruptcyLoanRepayHistory
   */
  readonly current?: number | bigint;
  /**
   * Default:10 Max:100
   * @type {number | bigint}
   * @memberof AccountApiQueryPortfolioMarginProBankruptcyLoanRepayHistory
   */
  readonly size?: number | bigint;
  /**
   *
   * @type {number | bigint}
   * @memberof AccountApiQueryPortfolioMarginProBankruptcyLoanRepayHistory
   */
  readonly recvWindow?: number | bigint;
}
/**
 * Request parameters for queryPortfolioMarginProNegativeBalanceInterestHistory operation in AccountApi.
 * @interface QueryPortfolioMarginProNegativeBalanceInterestHistoryRequest
 */
interface QueryPortfolioMarginProNegativeBalanceInterestHistoryRequest {
  /**
   *
   * @type {string}
   * @memberof AccountApiQueryPortfolioMarginProNegativeBalanceInterestHistory
   */
  readonly asset?: string;
  /**
   *
   * @type {number | bigint}
   * @memberof AccountApiQueryPortfolioMarginProNegativeBalanceInterestHistory
   */
  readonly startTime?: number | bigint;
  /**
   *
   * @type {number | bigint}
   * @memberof AccountApiQueryPortfolioMarginProNegativeBalanceInterestHistory
   */
  readonly endTime?: number | bigint;
  /**
   * Default:10 Max:100
   * @type {number | bigint}
   * @memberof AccountApiQueryPortfolioMarginProNegativeBalanceInterestHistory
   */
  readonly size?: number | bigint;
  /**
   *
   * @type {number | bigint}
   * @memberof AccountApiQueryPortfolioMarginProNegativeBalanceInterestHistory
   */
  readonly recvWindow?: number | bigint;
}
/**
 * Request parameters for repayFuturesNegativeBalance operation in AccountApi.
 * @interface RepayFuturesNegativeBalanceRequest
 */
interface RepayFuturesNegativeBalanceRequest {
  /**
   * SPOT or MARGIN，default SPOT
   * @type {string}
   * @memberof AccountApiRepayFuturesNegativeBalance
   */
  readonly from?: string;
  /**
   *
   * @type {number | bigint}
   * @memberof AccountApiRepayFuturesNegativeBalance
   */
  readonly recvWindow?: number | bigint;
}
/**
 * Request parameters for setMarginCallLevel operation in AccountApi.
 * @interface SetMarginCallLevelRequest
 */
interface SetMarginCallLevelRequest {
  /**
   * The value of marginCallLevel must be within the range [1.1, 2.0].
   * @type {number}
   * @memberof AccountApiSetMarginCallLevel
   */
  readonly marginCallLevel: number;
  /**
   *
   * @type {number | bigint}
   * @memberof AccountApiSetMarginCallLevel
   */
  readonly recvWindow?: number | bigint;
}
/**
 * Request parameters for switchDeltaMode operation in AccountApi.
 * @interface SwitchDeltaModeRequest
 */
interface SwitchDeltaModeRequest {
  /**
   * `true` to enable Delta mode; `false` to disable Delta mode
   * @type {string}
   * @memberof AccountApiSwitchDeltaMode
   */
  readonly deltaEnabled: string;
  /**
   *
   * @type {number | bigint}
   * @memberof AccountApiSwitchDeltaMode
   */
  readonly recvWindow?: number | bigint;
}
/**
 * Request parameters for transferLdusdtRwusdForPortfolioMargin operation in AccountApi.
 * @interface TransferLdusdtRwusdForPortfolioMarginRequest
 */
interface TransferLdusdtRwusdForPortfolioMarginRequest {
  /**
   * `LDUSDT` and `RWUSD`
   * @type {string}
   * @memberof AccountApiTransferLdusdtRwusdForPortfolioMargin
   */
  readonly asset: string;
  /**
   * `EARN_TO_FUTURE` /`FUTURE_TO_EARN`
   * @type {string}
   * @memberof AccountApiTransferLdusdtRwusdForPortfolioMargin
   */
  readonly transferType: string;
  /**
   *
   * @type {number}
   * @memberof AccountApiTransferLdusdtRwusdForPortfolioMargin
   */
  readonly amount: number;
  /**
   *
   * @type {number | bigint}
   * @memberof AccountApiTransferLdusdtRwusdForPortfolioMargin
   */
  readonly recvWindow?: number | bigint;
}
/**
 * AccountApi - object-oriented interface
 * @class AccountApi
 */
declare class AccountApi implements AccountApiInterface {
  private readonly configuration;
  private localVarAxiosParamCreator;
  constructor(configuration: ConfigurationRestAPI);
  /**
   * BNB transfer can be between Margin Account and USDM Account
   *
   *
   * You can only use this function 2 times per 10 minutes in a rolling manner
   *
   * Weight: 1500
   *
   * @summary BNB transfer(USER_DATA)
   * @param {BnbTransferRequest} requestParameters Request parameters.
   * @returns {Promise<RestApiResponse<BnbTransferResponse>>}
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @memberof AccountApi
   * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/BNB-transfer Binance API Documentation}
   */
  bnbTransfer(requestParameters: BnbTransferRequest): Promise<RestApiResponse<BnbTransferResponse>>;
  /**
   * Change Auto-repay-futures Status
   *
   * Weight: 1500
   *
   * @summary Change Auto-repay-futures Status(TRADE)
   * @param {ChangeAutoRepayFuturesStatusRequest} requestParameters Request parameters.
   * @returns {Promise<RestApiResponse<ChangeAutoRepayFuturesStatusResponse>>}
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @memberof AccountApi
   * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Change-Auto-repay-futures-Status Binance API Documentation}
   */
  changeAutoRepayFuturesStatus(requestParameters: ChangeAutoRepayFuturesStatusRequest): Promise<RestApiResponse<ChangeAutoRepayFuturesStatusResponse>>;
  /**
   * Delete the margin call level for a Portfolio Margin account.
   *
   * Weight: 1500
   *
   * @summary Delete Margin Call Level (USER_DATA)
   * @param {DeleteMarginCallLevelRequest} requestParameters Request parameters.
   * @returns {Promise<RestApiResponse<DeleteMarginCallLevelResponse>>}
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @memberof AccountApi
   * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Delete-Margin-Call-Level Binance API Documentation}
   */
  deleteMarginCallLevel(requestParameters?: DeleteMarginCallLevelRequest): Promise<RestApiResponse<DeleteMarginCallLevelResponse>>;
  /**
   * Transfers all assets from Futures Account to Margin account
   *
   * The BNB would not be collected from UM-PM account to the Portfolio Margin account.
   * You can only use this function 500 times per hour in a rolling manner.
   *
   * Weight: 1500
   *
   * @summary Fund Auto-collection(USER_DATA)
   * @param {FundAutoCollectionRequest} requestParameters Request parameters.
   * @returns {Promise<RestApiResponse<FundAutoCollectionResponse>>}
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @memberof AccountApi
   * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Fund-Auto-collection Binance API Documentation}
   */
  fundAutoCollection(requestParameters?: FundAutoCollectionRequest): Promise<RestApiResponse<FundAutoCollectionResponse>>;
  /**
   * Transfers specific asset from Futures Account to Margin account
   *
   * The BNB transfer is not be supported
   *
   * Weight: 60
   *
   * @summary Fund Collection by Asset(USER_DATA)
   * @param {FundCollectionByAssetRequest} requestParameters Request parameters.
   * @returns {Promise<RestApiResponse<FundCollectionByAssetResponse>>}
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @memberof AccountApi
   * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Fund-Collection-by-Asset Binance API Documentation}
   */
  fundCollectionByAsset(requestParameters: FundCollectionByAssetRequest): Promise<RestApiResponse<FundCollectionByAssetResponse>>;
  /**
   * Query Auto-repay-futures Status
   *
   * Weight: 30
   *
   * @summary Get Auto-repay-futures Status(USER_DATA)
   * @param {GetAutoRepayFuturesStatusRequest} requestParameters Request parameters.
   * @returns {Promise<RestApiResponse<GetAutoRepayFuturesStatusResponse>>}
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @memberof AccountApi
   * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Get-Auto-repay-futures-Status Binance API Documentation}
   */
  getAutoRepayFuturesStatus(requestParameters?: GetAutoRepayFuturesStatusRequest): Promise<RestApiResponse<GetAutoRepayFuturesStatusResponse>>;
  /**
   * Query the Delta mode status of current account.
   *
   * Weight: 1500
   *
   * @summary Get Delta Mode Status(USER_DATA)
   * @param {GetDeltaModeStatusRequest} requestParameters Request parameters.
   * @returns {Promise<RestApiResponse<GetDeltaModeStatusResponse>>}
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @memberof AccountApi
   * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Get-Delta-Mode-Status Binance API Documentation}
   */
  getDeltaModeStatus(requestParameters?: GetDeltaModeStatusRequest): Promise<RestApiResponse<GetDeltaModeStatusResponse>>;
  /**
   * Get the margin call level for a Portfolio Margin account.
   *
   * Weight: 1500
   *
   * @summary Get Margin Call Level (USER_DATA)
   * @param {GetMarginCallLevelRequest} requestParameters Request parameters.
   * @returns {Promise<RestApiResponse<GetMarginCallLevelResponse>>}
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @memberof AccountApi
   * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Get-Margin-Call-Level Binance API Documentation}
   */
  getMarginCallLevel(requestParameters?: GetMarginCallLevelRequest): Promise<RestApiResponse<GetMarginCallLevelResponse>>;
  /**
   * Query Portfolio Margin Pro account balance
   *
   * Weight: 20
   *
   * @summary Get Portfolio Margin Pro Account Balance(USER_DATA)
   * @param {GetPortfolioMarginProAccountBalanceRequest} requestParameters Request parameters.
   * @returns {Promise<RestApiResponse<GetPortfolioMarginProAccountBalanceResponse>>}
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @memberof AccountApi
   * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Get-Classic-Portfolio-Margin-Balance-Info Binance API Documentation}
   */
  getPortfolioMarginProAccountBalance(requestParameters?: GetPortfolioMarginProAccountBalanceRequest): Promise<RestApiResponse<GetPortfolioMarginProAccountBalanceResponse>>;
  /**
   * Get Portfolio Margin Pro Account Info
   *
   * Weight: 5
   *
   * @summary Get Portfolio Margin Pro Account Info(USER_DATA)
   * @param {GetPortfolioMarginProAccountInfoRequest} requestParameters Request parameters.
   * @returns {Promise<RestApiResponse<GetPortfolioMarginProAccountInfoResponse>>}
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @memberof AccountApi
   * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Get-Classic-Portfolio-Margin-Account-Info Binance API Documentation}
   */
  getPortfolioMarginProAccountInfo(requestParameters?: GetPortfolioMarginProAccountInfoRequest): Promise<RestApiResponse<GetPortfolioMarginProAccountInfoResponse>>;
  /**
   * Get Portfolio Margin Pro SPAN Account Info (For Portfolio Margin Pro SPAN users only)
   *
   * Weight: 5
   *
   * @summary Get Portfolio Margin Pro SPAN Account Info(USER_DATA)
   * @param {GetPortfolioMarginProSpanAccountInfoRequest} requestParameters Request parameters.
   * @returns {Promise<RestApiResponse<GetPortfolioMarginProSpanAccountInfoResponse>>}
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @memberof AccountApi
   * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Get-Classic-Portfolio-Margin-Account-Info-V2 Binance API Documentation}
   */
  getPortfolioMarginProSpanAccountInfo(requestParameters?: GetPortfolioMarginProSpanAccountInfoRequest): Promise<RestApiResponse<GetPortfolioMarginProSpanAccountInfoResponse>>;
  /**
   * Get transferable earn asset balance for all types of Portfolio Margin account
   *
   * Weight: 1500
   *
   * @summary Get Transferable Earn Asset Balance for Portfolio Margin (USER_DATA)
   * @param {GetTransferableEarnAssetBalanceForPortfolioMarginRequest} requestParameters Request parameters.
   * @returns {Promise<RestApiResponse<GetTransferableEarnAssetBalanceForPortfolioMarginResponse>>}
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @memberof AccountApi
   * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Get-Transferable-Earn-Asset-Balance-for-Portfolio-Margin Binance API Documentation}
   */
  getTransferableEarnAssetBalanceForPortfolioMargin(requestParameters: GetTransferableEarnAssetBalanceForPortfolioMarginRequest): Promise<RestApiResponse<GetTransferableEarnAssetBalanceForPortfolioMarginResponse>>;
  /**
   * Repay Portfolio Margin Pro Bankruptcy Loan
   *
   * Please note that the API Key has enabled Spot & Margin Trading permissions to access this endpoint.
   *
   * Weight: 3000
   *
   * @summary Portfolio Margin Pro Bankruptcy Loan Repay
   * @param {PortfolioMarginProBankruptcyLoanRepayRequest} requestParameters Request parameters.
   * @returns {Promise<RestApiResponse<PortfolioMarginProBankruptcyLoanRepayResponse>>}
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @memberof AccountApi
   * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Classic-Portfolio-Margin-Bankruptcy-Loan-Repay Binance API Documentation}
   */
  portfolioMarginProBankruptcyLoanRepay(requestParameters?: PortfolioMarginProBankruptcyLoanRepayRequest): Promise<RestApiResponse<PortfolioMarginProBankruptcyLoanRepayResponse>>;
  /**
   * Query Portfolio Margin Pro Bankruptcy Loan Amount
   *
   * If there’s no classic portfolio margin bankruptcy loan, the amount would be 0
   *
   * Weight: 500
   *
   * @summary Query Portfolio Margin Pro Bankruptcy Loan Amount(USER_DATA)
   * @param {QueryPortfolioMarginProBankruptcyLoanAmountRequest} requestParameters Request parameters.
   * @returns {Promise<RestApiResponse<QueryPortfolioMarginProBankruptcyLoanAmountResponse>>}
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @memberof AccountApi
   * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Query-Classic-Portfolio-Margin-Bankruptcy-Loan-Amount Binance API Documentation}
   */
  queryPortfolioMarginProBankruptcyLoanAmount(requestParameters?: QueryPortfolioMarginProBankruptcyLoanAmountRequest): Promise<RestApiResponse<QueryPortfolioMarginProBankruptcyLoanAmountResponse>>;
  /**
   * Query repay history of pmloan for portfolio margin pro.
   *
   * `startTime` and `endTime` cannot be longer than 360 days
   * If `startTime` and `endTime` not sent, return records of the last 30 days by default.
   * If `startTime`is sent and `endTime` is not sent, return records of [startTime, startTime+30d].
   * If `startTime` is not sent and `endTime` is sent, return records of [endTime-30d, endTime].
   *
   * Weight: 500
   *
   * @summary Query Portfolio Margin Pro Bankruptcy Loan Repay History(USER_DATA)
   * @param {QueryPortfolioMarginProBankruptcyLoanRepayHistoryRequest} requestParameters Request parameters.
   * @returns {Promise<RestApiResponse<QueryPortfolioMarginProBankruptcyLoanRepayHistoryResponse>>}
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @memberof AccountApi
   * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Query-Portfolio-Margin-Pro-Bankruptcy-Loan-Repay-History Binance API Documentation}
   */
  queryPortfolioMarginProBankruptcyLoanRepayHistory(requestParameters?: QueryPortfolioMarginProBankruptcyLoanRepayHistoryRequest): Promise<RestApiResponse<QueryPortfolioMarginProBankruptcyLoanRepayHistoryResponse>>;
  /**
   * Query interest history of negative balance for portfolio margin.
   *
   * Weight: 50
   *
   * @summary Query Portfolio Margin Pro Negative Balance Interest History(USER_DATA)
   * @param {QueryPortfolioMarginProNegativeBalanceInterestHistoryRequest} requestParameters Request parameters.
   * @returns {Promise<RestApiResponse<QueryPortfolioMarginProNegativeBalanceInterestHistoryResponse>>}
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @memberof AccountApi
   * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Query-Classic-Portfolio-Margin-Negative-Balance-Interest-History Binance API Documentation}
   */
  queryPortfolioMarginProNegativeBalanceInterestHistory(requestParameters?: QueryPortfolioMarginProNegativeBalanceInterestHistoryRequest): Promise<RestApiResponse<QueryPortfolioMarginProNegativeBalanceInterestHistoryResponse>>;
  /**
   * Repay futures Negative Balance
   *
   * Weight: 1500
   *
   * @summary Repay futures Negative Balance(USER_DATA)
   * @param {RepayFuturesNegativeBalanceRequest} requestParameters Request parameters.
   * @returns {Promise<RestApiResponse<RepayFuturesNegativeBalanceResponse>>}
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @memberof AccountApi
   * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Repay-futures-Negative-Balance Binance API Documentation}
   */
  repayFuturesNegativeBalance(requestParameters?: RepayFuturesNegativeBalanceRequest): Promise<RestApiResponse<RepayFuturesNegativeBalanceResponse>>;
  /**
   * Set the margin call level for a Portfolio Margin account. When the account's uniMMR drops to the specified level, a notification will be sent via email and SMS.
   *
   * Weight: 1500
   *
   * @summary Set Margin Call Level (USER_DATA)
   * @param {SetMarginCallLevelRequest} requestParameters Request parameters.
   * @returns {Promise<RestApiResponse<SetMarginCallLevelResponse>>}
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @memberof AccountApi
   * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Set-Margin-Call-Level Binance API Documentation}
   */
  setMarginCallLevel(requestParameters: SetMarginCallLevelRequest): Promise<RestApiResponse<SetMarginCallLevelResponse>>;
  /**
   * Switch the Delta mode for existing PM PRO / PM RETAIL accounts.
   *
   * Weight: 1500
   *
   * @summary Switch Delta Mode(TRADE)
   * @param {SwitchDeltaModeRequest} requestParameters Request parameters.
   * @returns {Promise<RestApiResponse<SwitchDeltaModeResponse>>}
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @memberof AccountApi
   * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Switch-Delta-Mode Binance API Documentation}
   */
  switchDeltaMode(requestParameters: SwitchDeltaModeRequest): Promise<RestApiResponse<SwitchDeltaModeResponse>>;
  /**
   * Transfer LDUSDT/RWUSD as collateral for all types of Portfolio Margin account
   *
   * Weight: 1500
   *
   * @summary Transfer LDUSDT/RWUSD for Portfolio Margin(TRADE)
   * @param {TransferLdusdtRwusdForPortfolioMarginRequest} requestParameters Request parameters.
   * @returns {Promise<RestApiResponse<TransferLdusdtRwusdForPortfolioMarginResponse>>}
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @memberof AccountApi
   * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Transfer-LDUSDT-Portfolio-Margin Binance API Documentation}
   */
  transferLdusdtRwusdForPortfolioMargin(requestParameters: TransferLdusdtRwusdForPortfolioMarginRequest): Promise<RestApiResponse<TransferLdusdtRwusdForPortfolioMarginResponse>>;
}
//#endregion
//#region src/rest-api/modules/market-data-api.d.ts
/**
 * MarketDataApi - interface
 * @interface MarketDataApi
 */
interface MarketDataApiInterface {
  /**
   * Get Portfolio Margin Asset Leverage
   *
   * Weight: 50
   *
   * @summary Get Portfolio Margin Asset Leverage(USER_DATA)
   *
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @memberof MarketDataApiInterface
   */
  getPortfolioMarginAssetLeverage(): Promise<RestApiResponse<GetPortfolioMarginAssetLeverageResponse>>;
  /**
   * Portfolio Margin Collateral Rate
   *
   * Weight: 50
   *
   * @summary Portfolio Margin Collateral Rate(MARKET_DATA)
   *
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @memberof MarketDataApiInterface
   */
  portfolioMarginCollateralRate(): Promise<RestApiResponse<PortfolioMarginCollateralRateResponse>>;
  /**
   * Portfolio Margin PRO Tiered Collateral Rate
   *
   * Weight: 50
   *
   * @summary Portfolio Margin Pro Tiered Collateral Rate(USER_DATA)
   * @param {PortfolioMarginProTieredCollateralRateRequest} requestParameters Request parameters.
   *
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @memberof MarketDataApiInterface
   */
  portfolioMarginProTieredCollateralRate(requestParameters?: PortfolioMarginProTieredCollateralRateRequest): Promise<RestApiResponse<PortfolioMarginProTieredCollateralRateResponse>>;
  /**
   * Query Portfolio Margin Asset Index Price
   *
   * Weight: 1 if send asset or 50 if not send asset
   *
   * @summary Query Portfolio Margin Asset Index Price (MARKET_DATA)
   * @param {QueryPortfolioMarginAssetIndexPriceRequest} requestParameters Request parameters.
   *
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @memberof MarketDataApiInterface
   */
  queryPortfolioMarginAssetIndexPrice(requestParameters?: QueryPortfolioMarginAssetIndexPriceRequest): Promise<RestApiResponse<QueryPortfolioMarginAssetIndexPriceResponse>>;
}
/**
 * Request parameters for portfolioMarginProTieredCollateralRate operation in MarketDataApi.
 * @interface PortfolioMarginProTieredCollateralRateRequest
 */
interface PortfolioMarginProTieredCollateralRateRequest {
  /**
   *
   * @type {number | bigint}
   * @memberof MarketDataApiPortfolioMarginProTieredCollateralRate
   */
  readonly recvWindow?: number | bigint;
}
/**
 * Request parameters for queryPortfolioMarginAssetIndexPrice operation in MarketDataApi.
 * @interface QueryPortfolioMarginAssetIndexPriceRequest
 */
interface QueryPortfolioMarginAssetIndexPriceRequest {
  /**
   *
   * @type {string}
   * @memberof MarketDataApiQueryPortfolioMarginAssetIndexPrice
   */
  readonly asset?: string;
}
/**
 * MarketDataApi - object-oriented interface
 * @class MarketDataApi
 */
declare class MarketDataApi implements MarketDataApiInterface {
  private readonly configuration;
  private localVarAxiosParamCreator;
  constructor(configuration: ConfigurationRestAPI);
  /**
   * Get Portfolio Margin Asset Leverage
   *
   * Weight: 50
   *
   * @summary Get Portfolio Margin Asset Leverage(USER_DATA)
   * @returns {Promise<RestApiResponse<GetPortfolioMarginAssetLeverageResponse>>}
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @memberof MarketDataApi
   * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/market-data/Get-Portfolio-Margin-Asset-Leverage Binance API Documentation}
   */
  getPortfolioMarginAssetLeverage(): Promise<RestApiResponse<GetPortfolioMarginAssetLeverageResponse>>;
  /**
   * Portfolio Margin Collateral Rate
   *
   * Weight: 50
   *
   * @summary Portfolio Margin Collateral Rate(MARKET_DATA)
   * @returns {Promise<RestApiResponse<PortfolioMarginCollateralRateResponse>>}
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @memberof MarketDataApi
   * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/market-data/Classic-Portfolio-Margin-Collateral-Rate Binance API Documentation}
   */
  portfolioMarginCollateralRate(): Promise<RestApiResponse<PortfolioMarginCollateralRateResponse>>;
  /**
   * Portfolio Margin PRO Tiered Collateral Rate
   *
   * Weight: 50
   *
   * @summary Portfolio Margin Pro Tiered Collateral Rate(USER_DATA)
   * @param {PortfolioMarginProTieredCollateralRateRequest} requestParameters Request parameters.
   * @returns {Promise<RestApiResponse<PortfolioMarginProTieredCollateralRateResponse>>}
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @memberof MarketDataApi
   * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/market-data/Portfolio-Margin-Pro-Tiered-Collateral-Rate Binance API Documentation}
   */
  portfolioMarginProTieredCollateralRate(requestParameters?: PortfolioMarginProTieredCollateralRateRequest): Promise<RestApiResponse<PortfolioMarginProTieredCollateralRateResponse>>;
  /**
   * Query Portfolio Margin Asset Index Price
   *
   * Weight: 1 if send asset or 50 if not send asset
   *
   * @summary Query Portfolio Margin Asset Index Price (MARKET_DATA)
   * @param {QueryPortfolioMarginAssetIndexPriceRequest} requestParameters Request parameters.
   * @returns {Promise<RestApiResponse<QueryPortfolioMarginAssetIndexPriceResponse>>}
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @memberof MarketDataApi
   * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/market-data/Query-Portfolio-Margin-Asset-Index-Price Binance API Documentation}
   */
  queryPortfolioMarginAssetIndexPrice(requestParameters?: QueryPortfolioMarginAssetIndexPriceRequest): Promise<RestApiResponse<QueryPortfolioMarginAssetIndexPriceResponse>>;
}
//#endregion
//#region src/rest-api/rest-api.d.ts
declare class RestAPI {
  private configuration;
  private accountApi;
  private marketDataApi;
  constructor(configuration: ConfigurationRestAPI);
  /**
   * Generic function to send a request.
   * @param endpoint - The API endpoint to call.
   * @param method - HTTP method to use (GET, POST, DELETE, etc.).
   * @param queryParams - Query parameters for the request.
   * @param bodyParams - Body parameters for the request.
   *
   * @returns A promise resolving to the response data object.
   */
  sendRequest<T>(endpoint: string, method: 'GET' | 'POST' | 'DELETE' | 'PUT' | 'PATCH', queryParams?: Record<string, unknown>, bodyParams?: Record<string, unknown>): Promise<RestApiResponse<T>>;
  /**
   * Generic function to send a signed request.
   * @param endpoint - The API endpoint to call.
   * @param method - HTTP method to use (GET, POST, DELETE, etc.).
   * @param queryParams - Query parameters for the request.
   * @param bodyParams - Body parameters for the request.
   *
   * @returns A promise resolving to the response data object.
   */
  sendSignedRequest<T>(endpoint: string, method: 'GET' | 'POST' | 'DELETE' | 'PUT' | 'PATCH', queryParams?: Record<string, unknown>, bodyParams?: Record<string, unknown>): Promise<RestApiResponse<T>>;
  /**
   * BNB transfer can be between Margin Account and USDM Account
   *
   *
   * You can only use this function 2 times per 10 minutes in a rolling manner
   *
   * Weight: 1500
   *
   * @summary BNB transfer(USER_DATA)
   * @param {BnbTransferRequest} requestParameters Request parameters.
   *
   * @returns {Promise<RestApiResponse<BnbTransferResponse>>}
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/BNB-transfer Binance API Documentation}
   */
  bnbTransfer(requestParameters: BnbTransferRequest): Promise<RestApiResponse<BnbTransferResponse>>;
  /**
   * Change Auto-repay-futures Status
   *
   * Weight: 1500
   *
   * @summary Change Auto-repay-futures Status(TRADE)
   * @param {ChangeAutoRepayFuturesStatusRequest} requestParameters Request parameters.
   *
   * @returns {Promise<RestApiResponse<ChangeAutoRepayFuturesStatusResponse>>}
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Change-Auto-repay-futures-Status Binance API Documentation}
   */
  changeAutoRepayFuturesStatus(requestParameters: ChangeAutoRepayFuturesStatusRequest): Promise<RestApiResponse<ChangeAutoRepayFuturesStatusResponse>>;
  /**
   * Delete the margin call level for a Portfolio Margin account.
   *
   * Weight: 1500
   *
   * @summary Delete Margin Call Level (USER_DATA)
   * @param {DeleteMarginCallLevelRequest} requestParameters Request parameters.
   *
   * @returns {Promise<RestApiResponse<DeleteMarginCallLevelResponse>>}
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Delete-Margin-Call-Level Binance API Documentation}
   */
  deleteMarginCallLevel(requestParameters?: DeleteMarginCallLevelRequest): Promise<RestApiResponse<DeleteMarginCallLevelResponse>>;
  /**
   * Transfers all assets from Futures Account to Margin account
   *
   * The BNB would not be collected from UM-PM account to the Portfolio Margin account.
   * You can only use this function 500 times per hour in a rolling manner.
   *
   * Weight: 1500
   *
   * @summary Fund Auto-collection(USER_DATA)
   * @param {FundAutoCollectionRequest} requestParameters Request parameters.
   *
   * @returns {Promise<RestApiResponse<FundAutoCollectionResponse>>}
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Fund-Auto-collection Binance API Documentation}
   */
  fundAutoCollection(requestParameters?: FundAutoCollectionRequest): Promise<RestApiResponse<FundAutoCollectionResponse>>;
  /**
   * Transfers specific asset from Futures Account to Margin account
   *
   * The BNB transfer is not be supported
   *
   * Weight: 60
   *
   * @summary Fund Collection by Asset(USER_DATA)
   * @param {FundCollectionByAssetRequest} requestParameters Request parameters.
   *
   * @returns {Promise<RestApiResponse<FundCollectionByAssetResponse>>}
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Fund-Collection-by-Asset Binance API Documentation}
   */
  fundCollectionByAsset(requestParameters: FundCollectionByAssetRequest): Promise<RestApiResponse<FundCollectionByAssetResponse>>;
  /**
   * Query Auto-repay-futures Status
   *
   * Weight: 30
   *
   * @summary Get Auto-repay-futures Status(USER_DATA)
   * @param {GetAutoRepayFuturesStatusRequest} requestParameters Request parameters.
   *
   * @returns {Promise<RestApiResponse<GetAutoRepayFuturesStatusResponse>>}
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Get-Auto-repay-futures-Status Binance API Documentation}
   */
  getAutoRepayFuturesStatus(requestParameters?: GetAutoRepayFuturesStatusRequest): Promise<RestApiResponse<GetAutoRepayFuturesStatusResponse>>;
  /**
   * Query the Delta mode status of current account.
   *
   * Weight: 1500
   *
   * @summary Get Delta Mode Status(USER_DATA)
   * @param {GetDeltaModeStatusRequest} requestParameters Request parameters.
   *
   * @returns {Promise<RestApiResponse<GetDeltaModeStatusResponse>>}
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Get-Delta-Mode-Status Binance API Documentation}
   */
  getDeltaModeStatus(requestParameters?: GetDeltaModeStatusRequest): Promise<RestApiResponse<GetDeltaModeStatusResponse>>;
  /**
   * Get the margin call level for a Portfolio Margin account.
   *
   * Weight: 1500
   *
   * @summary Get Margin Call Level (USER_DATA)
   * @param {GetMarginCallLevelRequest} requestParameters Request parameters.
   *
   * @returns {Promise<RestApiResponse<GetMarginCallLevelResponse>>}
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Get-Margin-Call-Level Binance API Documentation}
   */
  getMarginCallLevel(requestParameters?: GetMarginCallLevelRequest): Promise<RestApiResponse<GetMarginCallLevelResponse>>;
  /**
   * Query Portfolio Margin Pro account balance
   *
   * Weight: 20
   *
   * @summary Get Portfolio Margin Pro Account Balance(USER_DATA)
   * @param {GetPortfolioMarginProAccountBalanceRequest} requestParameters Request parameters.
   *
   * @returns {Promise<RestApiResponse<GetPortfolioMarginProAccountBalanceResponse>>}
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Get-Classic-Portfolio-Margin-Balance-Info Binance API Documentation}
   */
  getPortfolioMarginProAccountBalance(requestParameters?: GetPortfolioMarginProAccountBalanceRequest): Promise<RestApiResponse<GetPortfolioMarginProAccountBalanceResponse>>;
  /**
   * Get Portfolio Margin Pro Account Info
   *
   * Weight: 5
   *
   * @summary Get Portfolio Margin Pro Account Info(USER_DATA)
   * @param {GetPortfolioMarginProAccountInfoRequest} requestParameters Request parameters.
   *
   * @returns {Promise<RestApiResponse<GetPortfolioMarginProAccountInfoResponse>>}
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Get-Classic-Portfolio-Margin-Account-Info Binance API Documentation}
   */
  getPortfolioMarginProAccountInfo(requestParameters?: GetPortfolioMarginProAccountInfoRequest): Promise<RestApiResponse<GetPortfolioMarginProAccountInfoResponse>>;
  /**
   * Get Portfolio Margin Pro SPAN Account Info (For Portfolio Margin Pro SPAN users only)
   *
   * Weight: 5
   *
   * @summary Get Portfolio Margin Pro SPAN Account Info(USER_DATA)
   * @param {GetPortfolioMarginProSpanAccountInfoRequest} requestParameters Request parameters.
   *
   * @returns {Promise<RestApiResponse<GetPortfolioMarginProSpanAccountInfoResponse>>}
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Get-Classic-Portfolio-Margin-Account-Info-V2 Binance API Documentation}
   */
  getPortfolioMarginProSpanAccountInfo(requestParameters?: GetPortfolioMarginProSpanAccountInfoRequest): Promise<RestApiResponse<GetPortfolioMarginProSpanAccountInfoResponse>>;
  /**
   * Get transferable earn asset balance for all types of Portfolio Margin account
   *
   * Weight: 1500
   *
   * @summary Get Transferable Earn Asset Balance for Portfolio Margin (USER_DATA)
   * @param {GetTransferableEarnAssetBalanceForPortfolioMarginRequest} requestParameters Request parameters.
   *
   * @returns {Promise<RestApiResponse<GetTransferableEarnAssetBalanceForPortfolioMarginResponse>>}
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Get-Transferable-Earn-Asset-Balance-for-Portfolio-Margin Binance API Documentation}
   */
  getTransferableEarnAssetBalanceForPortfolioMargin(requestParameters: GetTransferableEarnAssetBalanceForPortfolioMarginRequest): Promise<RestApiResponse<GetTransferableEarnAssetBalanceForPortfolioMarginResponse>>;
  /**
   * Repay Portfolio Margin Pro Bankruptcy Loan
   *
   * Please note that the API Key has enabled Spot & Margin Trading permissions to access this endpoint.
   *
   * Weight: 3000
   *
   * @summary Portfolio Margin Pro Bankruptcy Loan Repay
   * @param {PortfolioMarginProBankruptcyLoanRepayRequest} requestParameters Request parameters.
   *
   * @returns {Promise<RestApiResponse<PortfolioMarginProBankruptcyLoanRepayResponse>>}
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Classic-Portfolio-Margin-Bankruptcy-Loan-Repay Binance API Documentation}
   */
  portfolioMarginProBankruptcyLoanRepay(requestParameters?: PortfolioMarginProBankruptcyLoanRepayRequest): Promise<RestApiResponse<PortfolioMarginProBankruptcyLoanRepayResponse>>;
  /**
   * Query Portfolio Margin Pro Bankruptcy Loan Amount
   *
   * If there’s no classic portfolio margin bankruptcy loan, the amount would be 0
   *
   * Weight: 500
   *
   * @summary Query Portfolio Margin Pro Bankruptcy Loan Amount(USER_DATA)
   * @param {QueryPortfolioMarginProBankruptcyLoanAmountRequest} requestParameters Request parameters.
   *
   * @returns {Promise<RestApiResponse<QueryPortfolioMarginProBankruptcyLoanAmountResponse>>}
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Query-Classic-Portfolio-Margin-Bankruptcy-Loan-Amount Binance API Documentation}
   */
  queryPortfolioMarginProBankruptcyLoanAmount(requestParameters?: QueryPortfolioMarginProBankruptcyLoanAmountRequest): Promise<RestApiResponse<QueryPortfolioMarginProBankruptcyLoanAmountResponse>>;
  /**
   * Query repay history of pmloan for portfolio margin pro.
   *
   * `startTime` and `endTime` cannot be longer than 360 days
   * If `startTime` and `endTime` not sent, return records of the last 30 days by default.
   * If `startTime`is sent and `endTime` is not sent, return records of [startTime, startTime+30d].
   * If `startTime` is not sent and `endTime` is sent, return records of [endTime-30d, endTime].
   *
   * Weight: 500
   *
   * @summary Query Portfolio Margin Pro Bankruptcy Loan Repay History(USER_DATA)
   * @param {QueryPortfolioMarginProBankruptcyLoanRepayHistoryRequest} requestParameters Request parameters.
   *
   * @returns {Promise<RestApiResponse<QueryPortfolioMarginProBankruptcyLoanRepayHistoryResponse>>}
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Query-Portfolio-Margin-Pro-Bankruptcy-Loan-Repay-History Binance API Documentation}
   */
  queryPortfolioMarginProBankruptcyLoanRepayHistory(requestParameters?: QueryPortfolioMarginProBankruptcyLoanRepayHistoryRequest): Promise<RestApiResponse<QueryPortfolioMarginProBankruptcyLoanRepayHistoryResponse>>;
  /**
   * Query interest history of negative balance for portfolio margin.
   *
   * Weight: 50
   *
   * @summary Query Portfolio Margin Pro Negative Balance Interest History(USER_DATA)
   * @param {QueryPortfolioMarginProNegativeBalanceInterestHistoryRequest} requestParameters Request parameters.
   *
   * @returns {Promise<RestApiResponse<QueryPortfolioMarginProNegativeBalanceInterestHistoryResponse>>}
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Query-Classic-Portfolio-Margin-Negative-Balance-Interest-History Binance API Documentation}
   */
  queryPortfolioMarginProNegativeBalanceInterestHistory(requestParameters?: QueryPortfolioMarginProNegativeBalanceInterestHistoryRequest): Promise<RestApiResponse<QueryPortfolioMarginProNegativeBalanceInterestHistoryResponse>>;
  /**
   * Repay futures Negative Balance
   *
   * Weight: 1500
   *
   * @summary Repay futures Negative Balance(USER_DATA)
   * @param {RepayFuturesNegativeBalanceRequest} requestParameters Request parameters.
   *
   * @returns {Promise<RestApiResponse<RepayFuturesNegativeBalanceResponse>>}
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Repay-futures-Negative-Balance Binance API Documentation}
   */
  repayFuturesNegativeBalance(requestParameters?: RepayFuturesNegativeBalanceRequest): Promise<RestApiResponse<RepayFuturesNegativeBalanceResponse>>;
  /**
   * Set the margin call level for a Portfolio Margin account. When the account's uniMMR drops to the specified level, a notification will be sent via email and SMS.
   *
   * Weight: 1500
   *
   * @summary Set Margin Call Level (USER_DATA)
   * @param {SetMarginCallLevelRequest} requestParameters Request parameters.
   *
   * @returns {Promise<RestApiResponse<SetMarginCallLevelResponse>>}
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Set-Margin-Call-Level Binance API Documentation}
   */
  setMarginCallLevel(requestParameters: SetMarginCallLevelRequest): Promise<RestApiResponse<SetMarginCallLevelResponse>>;
  /**
   * Switch the Delta mode for existing PM PRO / PM RETAIL accounts.
   *
   * Weight: 1500
   *
   * @summary Switch Delta Mode(TRADE)
   * @param {SwitchDeltaModeRequest} requestParameters Request parameters.
   *
   * @returns {Promise<RestApiResponse<SwitchDeltaModeResponse>>}
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Switch-Delta-Mode Binance API Documentation}
   */
  switchDeltaMode(requestParameters: SwitchDeltaModeRequest): Promise<RestApiResponse<SwitchDeltaModeResponse>>;
  /**
   * Transfer LDUSDT/RWUSD as collateral for all types of Portfolio Margin account
   *
   * Weight: 1500
   *
   * @summary Transfer LDUSDT/RWUSD for Portfolio Margin(TRADE)
   * @param {TransferLdusdtRwusdForPortfolioMarginRequest} requestParameters Request parameters.
   *
   * @returns {Promise<RestApiResponse<TransferLdusdtRwusdForPortfolioMarginResponse>>}
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Transfer-LDUSDT-Portfolio-Margin Binance API Documentation}
   */
  transferLdusdtRwusdForPortfolioMargin(requestParameters: TransferLdusdtRwusdForPortfolioMarginRequest): Promise<RestApiResponse<TransferLdusdtRwusdForPortfolioMarginResponse>>;
  /**
   * Get Portfolio Margin Asset Leverage
   *
   * Weight: 50
   *
   * @summary Get Portfolio Margin Asset Leverage(USER_DATA)
   *
   * @returns {Promise<RestApiResponse<GetPortfolioMarginAssetLeverageResponse>>}
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/market-data/Get-Portfolio-Margin-Asset-Leverage Binance API Documentation}
   */
  getPortfolioMarginAssetLeverage(): Promise<RestApiResponse<GetPortfolioMarginAssetLeverageResponse>>;
  /**
   * Portfolio Margin Collateral Rate
   *
   * Weight: 50
   *
   * @summary Portfolio Margin Collateral Rate(MARKET_DATA)
   *
   * @returns {Promise<RestApiResponse<PortfolioMarginCollateralRateResponse>>}
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/market-data/Classic-Portfolio-Margin-Collateral-Rate Binance API Documentation}
   */
  portfolioMarginCollateralRate(): Promise<RestApiResponse<PortfolioMarginCollateralRateResponse>>;
  /**
   * Portfolio Margin PRO Tiered Collateral Rate
   *
   * Weight: 50
   *
   * @summary Portfolio Margin Pro Tiered Collateral Rate(USER_DATA)
   * @param {PortfolioMarginProTieredCollateralRateRequest} requestParameters Request parameters.
   *
   * @returns {Promise<RestApiResponse<PortfolioMarginProTieredCollateralRateResponse>>}
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/market-data/Portfolio-Margin-Pro-Tiered-Collateral-Rate Binance API Documentation}
   */
  portfolioMarginProTieredCollateralRate(requestParameters?: PortfolioMarginProTieredCollateralRateRequest): Promise<RestApiResponse<PortfolioMarginProTieredCollateralRateResponse>>;
  /**
   * Query Portfolio Margin Asset Index Price
   *
   * Weight: 1 if send asset or 50 if not send asset
   *
   * @summary Query Portfolio Margin Asset Index Price (MARKET_DATA)
   * @param {QueryPortfolioMarginAssetIndexPriceRequest} requestParameters Request parameters.
   *
   * @returns {Promise<RestApiResponse<QueryPortfolioMarginAssetIndexPriceResponse>>}
   * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
   * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin-pro/market-data/Query-Portfolio-Margin-Asset-Index-Price Binance API Documentation}
   */
  queryPortfolioMarginAssetIndexPrice(requestParameters?: QueryPortfolioMarginAssetIndexPriceRequest): Promise<RestApiResponse<QueryPortfolioMarginAssetIndexPriceResponse>>;
}
declare namespace index_d_exports {
  export { AccountApi, AccountApiInterface, BnbTransferRequest, BnbTransferResponse, ChangeAutoRepayFuturesStatusRequest, ChangeAutoRepayFuturesStatusResponse, DeleteMarginCallLevelRequest, DeleteMarginCallLevelResponse, FundAutoCollectionRequest, FundAutoCollectionResponse, FundCollectionByAssetRequest, FundCollectionByAssetResponse, GetAutoRepayFuturesStatusRequest, GetAutoRepayFuturesStatusResponse, GetDeltaModeStatusRequest, GetDeltaModeStatusResponse, GetMarginCallLevelRequest, GetMarginCallLevelResponse, GetPortfolioMarginAssetLeverageResponse, GetPortfolioMarginAssetLeverageResponseInner, GetPortfolioMarginProAccountBalanceRequest, GetPortfolioMarginProAccountBalanceResponse, GetPortfolioMarginProAccountBalanceResponseInner, GetPortfolioMarginProAccountInfoRequest, GetPortfolioMarginProAccountInfoResponse, GetPortfolioMarginProSpanAccountInfoRequest, GetPortfolioMarginProSpanAccountInfoResponse, GetPortfolioMarginProSpanAccountInfoResponseRiskUnitMMListInner, GetTransferableEarnAssetBalanceForPortfolioMarginRequest, GetTransferableEarnAssetBalanceForPortfolioMarginResponse, MarketDataApi, MarketDataApiInterface, PortfolioMarginCollateralRateResponse, PortfolioMarginCollateralRateResponseInner, PortfolioMarginProBankruptcyLoanRepayRequest, PortfolioMarginProBankruptcyLoanRepayResponse, PortfolioMarginProTieredCollateralRateRequest, PortfolioMarginProTieredCollateralRateResponse, PortfolioMarginProTieredCollateralRateResponseInner, PortfolioMarginProTieredCollateralRateResponseInnerCollateralInfoInner, QueryPortfolioMarginAssetIndexPriceRequest, QueryPortfolioMarginAssetIndexPriceResponse, QueryPortfolioMarginAssetIndexPriceResponseInner, QueryPortfolioMarginProBankruptcyLoanAmountRequest, QueryPortfolioMarginProBankruptcyLoanAmountResponse, QueryPortfolioMarginProBankruptcyLoanRepayHistoryRequest, QueryPortfolioMarginProBankruptcyLoanRepayHistoryResponse, QueryPortfolioMarginProBankruptcyLoanRepayHistoryResponseRowsInner, QueryPortfolioMarginProNegativeBalanceInterestHistoryRequest, QueryPortfolioMarginProNegativeBalanceInterestHistoryResponse, QueryPortfolioMarginProNegativeBalanceInterestHistoryResponseInner, RepayFuturesNegativeBalanceRequest, RepayFuturesNegativeBalanceResponse, RestAPI, SetMarginCallLevelRequest, SetMarginCallLevelResponse, SwitchDeltaModeRequest, SwitchDeltaModeResponse, TransferLdusdtRwusdForPortfolioMarginRequest, TransferLdusdtRwusdForPortfolioMarginResponse };
}
//#endregion
//#region src/websocket-streams/types/pm-pro-account-update.d.ts
/**
 * Binance Derivatives Trading Portfolio Margin Pro WebSocket Market Streams
 *
 * OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin Pro WebSocket Market Streams
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface PmProAccountUpdate
 */
interface PmProAccountUpdate {
  /**
   *
   * @type {number | bigint}
   * @memberof PmProAccountUpdate
   */
  E?: number | bigint;
  /**
   *
   * @type {string}
   * @memberof PmProAccountUpdate
   */
  u?: string;
  /**
   *
   * @type {string}
   * @memberof PmProAccountUpdate
   */
  eq?: string;
  /**
   *
   * @type {string}
   * @memberof PmProAccountUpdate
   */
  ae?: string;
  /**
   *
   * @type {string}
   * @memberof PmProAccountUpdate
   */
  im?: string;
  /**
   *
   * @type {string}
   * @memberof PmProAccountUpdate
   */
  mm?: string;
  /**
   *
   * @type {string}
   * @memberof PmProAccountUpdate
   */
  avb?: string;
  /**
   *
   * @type {string}
   * @memberof PmProAccountUpdate
   */
  vmw?: string;
}
//#endregion
//#region src/websocket-streams/types/risklevelchange.d.ts
/**
 * Binance Derivatives Trading Portfolio Margin Pro WebSocket Market Streams
 *
 * OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin Pro WebSocket Market Streams
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface Risklevelchange
 */
interface Risklevelchange {
  /**
   *
   * @type {number | bigint}
   * @memberof Risklevelchange
   */
  E?: number | bigint;
  /**
   *
   * @type {string}
   * @memberof Risklevelchange
   */
  u?: string;
  /**
   *
   * @type {string}
   * @memberof Risklevelchange
   */
  s?: string;
  /**
   *
   * @type {string}
   * @memberof Risklevelchange
   */
  eq?: string;
  /**
   *
   * @type {string}
   * @memberof Risklevelchange
   */
  ae?: string;
  /**
   *
   * @type {string}
   * @memberof Risklevelchange
   */
  m?: string;
}
//#endregion
//#region src/websocket-streams/types/user-data-stream-events-response.d.ts
/**
 * @type UserDataStreamEventsResponse
 * @export
 */
type UserDataStreamEventsResponse = ({
  e: 'PM_PRO_ACCOUNT_UPDATE';
} & PmProAccountUpdate) | ({
  e: 'riskLevelChange';
} & Risklevelchange);
//#endregion
//#region src/websocket-streams/websocket-streams-connection.d.ts
declare class WebsocketStreamsConnection {
  private websocketBase;
  constructor(websocketBase: WebsocketStreamsBase);
  /**
   * Adds an event listener for the specified WebSocket event.
   * @param event - The WebSocket event to listen for, such as 'open', 'message', 'error', 'close', 'ping', or 'pong'.
   * @param listener - The callback function to be executed when the event is triggered. The function can accept any number of arguments.
   */
  on(event: 'open' | 'message' | 'error' | 'close' | 'ping' | 'pong', listener: (...args: any[]) => void): void;
  /**
   * Removes an event listener for the specified WebSocket event.
   * @param event - The WebSocket event to stop listening for, such as 'open', 'message', 'error', 'close', 'ping', or 'pong'.
   * @param listener - The callback function that was previously added as the event listener.
   */
  off(event: 'open' | 'message' | 'error' | 'close' | 'ping' | 'pong', listener: (...args: any[]) => void): void;
  /**
   * Disconnects from the WebSocket server.
   * If there is no active connection, a warning is logged.
   * Otherwise, all connections in the connection pool are closed gracefully,
   * and a message is logged indicating that the connection has been disconnected.
   * @returns A Promise that resolves when all connections have been closed.
   * @throws Error if the WebSocket client is not set.
   */
  disconnect(): Promise<void>;
  /**
   * Checks if the WebSocket connection is currently open.
   * @returns `true` if the connection is open, `false` otherwise.
   */
  isConnected(): boolean;
  /**
   * Sends a ping message to all connected Websocket servers in the pool.
   * If no connections are ready, a warning is logged.
   * For each active connection, the ping message is sent, and debug logs provide details.
   * @throws Error if a Websocket client is not set for a connection.
   */
  pingServer(): void;
  /**
   * Subscribes to one or multiple WebSocket streams
   * Handles both single and pool modes
   * @param stream Single stream name or array of stream names to subscribe to
   * @param id Optional subscription ID
   * @returns void
   */
  subscribe(stream: string | string[], id?: string): void;
  /**
   * Unsubscribes from one or multiple WebSocket streams
   * Handles both single and pool modes
   * @param stream Single stream name or array of stream names to unsubscribe from
   * @param id Optional unsubscription ID
   * @returns void
   */
  unsubscribe(stream: string | string[], id?: string): void;
  /**
   * Checks if the WebSocket connection is subscribed to the specified stream.
   * @param stream The name of the WebSocket stream to check.
   * @returns `true` if the connection is subscribed to the stream, `false` otherwise.
   */
  isSubscribed(stream: string): boolean;
  /**
   * Subscribes to the user data WebSocket stream using the provided listen key.
   * @param listenKey - The listen key for the user data WebSocket stream.
   * @param id - Optional user data stream ID
   * @returns A WebSocket stream handler for the user data stream.
   */
  userData(listenKey: string, id?: string): WebsocketStream<UserDataStreamEventsResponse>;
}
//#endregion
//#region src/websocket-streams/websocket-streams.d.ts
declare class WebsocketStreams {
  private configuration;
  constructor(configuration: ConfigurationWebsocketStreams);
  /**
   * Connects to the Binance WebSocket streams and returns a `WebsocketStreamsConnection` instance.
   *
   * @param {object} [options] - Optional connection options.
   * @param {string|string[]} [options.stream] - The stream(s) to connect to.
   * @param {'single'|'pool'} [options.mode] - The connection mode, either 'single' or 'pool'. Overwrite the `mode` option in the configuration.
   * @param {number} [options.poolSize] - The number of connections to use in pool mode. Overwrite the `poolSize` option in the configuration.
   * @returns {Promise<WebsocketStreamsConnection>} - A promise that resolves to a `WebsocketStreamsConnection` instance.
   */
  connect({
    stream,
    mode,
    poolSize
  }?: {
    stream?: string | string[];
    mode?: 'single' | 'pool';
    poolSize?: number;
  }): Promise<WebsocketStreamsConnection>;
}
declare namespace index_d_exports$1 {
  export { PmProAccountUpdate, Risklevelchange, UserDataStreamEventsResponse, WebsocketStreams, WebsocketStreamsConnection };
}
//#endregion
//#region src/derivatives-trading-portfolio-margin-pro.d.ts
interface ConfigurationDerivativesTradingPortfolioMarginPro {
  configurationRestAPI?: ConfigurationRestAPI;
  configurationWebsocketStreams?: ConfigurationWebsocketStreams;
}
declare class DerivativesTradingPortfolioMarginPro {
  restAPI: RestAPI;
  websocketStreams: WebsocketStreams;
  constructor(config: ConfigurationDerivativesTradingPortfolioMarginPro);
}
//#endregion
export { BadRequestError, type ConfigurationDerivativesTradingPortfolioMarginPro, ConnectorClientError, DERIVATIVES_TRADING_PORTFOLIO_MARGIN_PRO_REST_API_PROD_URL, DERIVATIVES_TRADING_PORTFOLIO_MARGIN_PRO_WS_STREAMS_PROD_URL, DerivativesTradingPortfolioMarginPro, index_d_exports as DerivativesTradingPortfolioMarginProRestAPI, index_d_exports$1 as DerivativesTradingPortfolioMarginProWebsocketStreams, ForbiddenError, NetworkError, NotFoundError, RateLimitBanError, RequiredError, ServerError, TooManyRequestsError, UnauthorizedError };
//# sourceMappingURL=index.d.ts.map