import { RestApiResponse, ConfigurationRestAPI, WebsocketStream, WebsocketStreamsBase, ConfigurationWebsocketStreams } from '@binance/common';
export { BadRequestError, ConnectorClientError, DERIVATIVES_TRADING_OPTIONS_REST_API_PROD_URL, DERIVATIVES_TRADING_OPTIONS_WS_STREAMS_PROD_URL, ForbiddenError, NetworkError, NotFoundError, RateLimitBanError, RequiredError, ServerError, TooManyRequestsError, UnauthorizedError } from '@binance/common';

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 AcceptBlockTradeOrderResponseLegsInner
 */
interface AcceptBlockTradeOrderResponseLegsInner {
    /**
     *
     * @type {string}
     * @memberof AcceptBlockTradeOrderResponseLegsInner
     */
    symbol?: string;
    /**
     *
     * @type {string}
     * @memberof AcceptBlockTradeOrderResponseLegsInner
     */
    side?: string;
    /**
     *
     * @type {string}
     * @memberof AcceptBlockTradeOrderResponseLegsInner
     */
    quantity?: string;
    /**
     *
     * @type {string}
     * @memberof AcceptBlockTradeOrderResponseLegsInner
     */
    price?: string;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 AcceptBlockTradeOrderResponse
 */
interface AcceptBlockTradeOrderResponse {
    /**
     *
     * @type {string}
     * @memberof AcceptBlockTradeOrderResponse
     */
    blockTradeSettlementKey?: string;
    /**
     *
     * @type {number}
     * @memberof AcceptBlockTradeOrderResponse
     */
    expireTime?: number;
    /**
     *
     * @type {string}
     * @memberof AcceptBlockTradeOrderResponse
     */
    liquidity?: string;
    /**
     *
     * @type {string}
     * @memberof AcceptBlockTradeOrderResponse
     */
    status?: string;
    /**
     *
     * @type {number}
     * @memberof AcceptBlockTradeOrderResponse
     */
    createTime?: number;
    /**
     *
     * @type {Array<AcceptBlockTradeOrderResponseLegsInner>}
     * @memberof AcceptBlockTradeOrderResponse
     */
    legs?: Array<AcceptBlockTradeOrderResponseLegsInner>;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 AccountBlockTradeListResponseInnerLegsInner
 */
interface AccountBlockTradeListResponseInnerLegsInner {
    /**
     *
     * @type {number}
     * @memberof AccountBlockTradeListResponseInnerLegsInner
     */
    createTime?: number;
    /**
     *
     * @type {number}
     * @memberof AccountBlockTradeListResponseInnerLegsInner
     */
    updateTime?: number;
    /**
     *
     * @type {string}
     * @memberof AccountBlockTradeListResponseInnerLegsInner
     */
    symbol?: string;
    /**
     *
     * @type {string}
     * @memberof AccountBlockTradeListResponseInnerLegsInner
     */
    orderId?: string;
    /**
     *
     * @type {number}
     * @memberof AccountBlockTradeListResponseInnerLegsInner
     */
    orderPrice?: number;
    /**
     *
     * @type {number}
     * @memberof AccountBlockTradeListResponseInnerLegsInner
     */
    orderQuantity?: number;
    /**
     *
     * @type {string}
     * @memberof AccountBlockTradeListResponseInnerLegsInner
     */
    orderStatus?: string;
    /**
     *
     * @type {number}
     * @memberof AccountBlockTradeListResponseInnerLegsInner
     */
    executedQty?: number;
    /**
     *
     * @type {number}
     * @memberof AccountBlockTradeListResponseInnerLegsInner
     */
    executedAmount?: number;
    /**
     *
     * @type {number}
     * @memberof AccountBlockTradeListResponseInnerLegsInner
     */
    fee?: number;
    /**
     *
     * @type {string}
     * @memberof AccountBlockTradeListResponseInnerLegsInner
     */
    orderType?: string;
    /**
     *
     * @type {string}
     * @memberof AccountBlockTradeListResponseInnerLegsInner
     */
    orderSide?: string;
    /**
     *
     * @type {string}
     * @memberof AccountBlockTradeListResponseInnerLegsInner
     */
    id?: string;
    /**
     *
     * @type {number}
     * @memberof AccountBlockTradeListResponseInnerLegsInner
     */
    tradeId?: number;
    /**
     *
     * @type {number}
     * @memberof AccountBlockTradeListResponseInnerLegsInner
     */
    tradePrice?: number;
    /**
     *
     * @type {number}
     * @memberof AccountBlockTradeListResponseInnerLegsInner
     */
    tradeQty?: number;
    /**
     *
     * @type {number}
     * @memberof AccountBlockTradeListResponseInnerLegsInner
     */
    tradeTime?: number;
    /**
     *
     * @type {string}
     * @memberof AccountBlockTradeListResponseInnerLegsInner
     */
    liquidity?: string;
    /**
     *
     * @type {number}
     * @memberof AccountBlockTradeListResponseInnerLegsInner
     */
    commission?: number;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 AccountBlockTradeListResponseInner
 */
interface AccountBlockTradeListResponseInner {
    /**
     *
     * @type {string}
     * @memberof AccountBlockTradeListResponseInner
     */
    parentOrderId?: string;
    /**
     *
     * @type {string}
     * @memberof AccountBlockTradeListResponseInner
     */
    crossType?: string;
    /**
     *
     * @type {Array<AccountBlockTradeListResponseInnerLegsInner>}
     * @memberof AccountBlockTradeListResponseInner
     */
    legs?: Array<AccountBlockTradeListResponseInnerLegsInner>;
    /**
     *
     * @type {string}
     * @memberof AccountBlockTradeListResponseInner
     */
    blockTradeSettlementKey?: string;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 AccountBlockTradeListResponse
 */
interface AccountBlockTradeListResponse extends Array<AccountBlockTradeListResponseInner> {
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 AccountFundingFlowResponseInner
 */
interface AccountFundingFlowResponseInner {
    /**
     *
     * @type {number}
     * @memberof AccountFundingFlowResponseInner
     */
    id?: number;
    /**
     *
     * @type {string}
     * @memberof AccountFundingFlowResponseInner
     */
    asset?: string;
    /**
     *
     * @type {string}
     * @memberof AccountFundingFlowResponseInner
     */
    amount?: string;
    /**
     *
     * @type {string}
     * @memberof AccountFundingFlowResponseInner
     */
    type?: string;
    /**
     *
     * @type {number}
     * @memberof AccountFundingFlowResponseInner
     */
    createDate?: number;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 AccountFundingFlowResponse
 */
interface AccountFundingFlowResponse extends Array<AccountFundingFlowResponseInner> {
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 AccountTradeListResponseInner
 */
interface AccountTradeListResponseInner {
    /**
     *
     * @type {number}
     * @memberof AccountTradeListResponseInner
     */
    id?: number;
    /**
     *
     * @type {number}
     * @memberof AccountTradeListResponseInner
     */
    tradeId?: number;
    /**
     *
     * @type {number}
     * @memberof AccountTradeListResponseInner
     */
    orderId?: number;
    /**
     *
     * @type {string}
     * @memberof AccountTradeListResponseInner
     */
    symbol?: string;
    /**
     *
     * @type {string}
     * @memberof AccountTradeListResponseInner
     */
    price?: string;
    /**
     *
     * @type {string}
     * @memberof AccountTradeListResponseInner
     */
    quantity?: string;
    /**
     *
     * @type {string}
     * @memberof AccountTradeListResponseInner
     */
    fee?: string;
    /**
     *
     * @type {string}
     * @memberof AccountTradeListResponseInner
     */
    realizedProfit?: string;
    /**
     *
     * @type {string}
     * @memberof AccountTradeListResponseInner
     */
    side?: string;
    /**
     *
     * @type {string}
     * @memberof AccountTradeListResponseInner
     */
    type?: string;
    /**
     *
     * @type {string}
     * @memberof AccountTradeListResponseInner
     */
    volatility?: string;
    /**
     *
     * @type {string}
     * @memberof AccountTradeListResponseInner
     */
    liquidity?: string;
    /**
     *
     * @type {string}
     * @memberof AccountTradeListResponseInner
     */
    quoteAsset?: string;
    /**
     *
     * @type {number}
     * @memberof AccountTradeListResponseInner
     */
    time?: number;
    /**
     *
     * @type {number}
     * @memberof AccountTradeListResponseInner
     */
    priceScale?: number;
    /**
     *
     * @type {number}
     * @memberof AccountTradeListResponseInner
     */
    quantityScale?: number;
    /**
     *
     * @type {string}
     * @memberof AccountTradeListResponseInner
     */
    optionSide?: string;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 AccountTradeListResponse
 */
interface AccountTradeListResponse extends Array<AccountTradeListResponseInner> {
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 AutoCancelAllOpenOrdersResponse
 */
interface AutoCancelAllOpenOrdersResponse {
    /**
     *
     * @type {Array<string>}
     * @memberof AutoCancelAllOpenOrdersResponse
     */
    underlyings?: Array<string>;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 BadRequest
 */
interface BadRequest {
    /**
     *
     * @type {number}
     * @memberof BadRequest
     */
    code: number;
    /**
     *
     * @type {string}
     * @memberof BadRequest
     */
    message: string;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 CancelAllOptionOrdersByUnderlyingResponse
 */
interface CancelAllOptionOrdersByUnderlyingResponse {
    /**
     *
     * @type {number}
     * @memberof CancelAllOptionOrdersByUnderlyingResponse
     */
    code?: number;
    /**
     *
     * @type {string}
     * @memberof CancelAllOptionOrdersByUnderlyingResponse
     */
    msg?: string;
    /**
     *
     * @type {number}
     * @memberof CancelAllOptionOrdersByUnderlyingResponse
     */
    data?: number;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 CancelAllOptionOrdersOnSpecificSymbolResponse
 */
interface CancelAllOptionOrdersOnSpecificSymbolResponse {
    /**
     *
     * @type {number}
     * @memberof CancelAllOptionOrdersOnSpecificSymbolResponse
     */
    code?: number;
    /**
     *
     * @type {string}
     * @memberof CancelAllOptionOrdersOnSpecificSymbolResponse
     */
    msg?: string;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 CancelMultipleOptionOrdersResponseInner
 */
interface CancelMultipleOptionOrdersResponseInner {
    /**
     *
     * @type {number}
     * @memberof CancelMultipleOptionOrdersResponseInner
     */
    orderId?: number;
    /**
     *
     * @type {string}
     * @memberof CancelMultipleOptionOrdersResponseInner
     */
    symbol?: string;
    /**
     *
     * @type {string}
     * @memberof CancelMultipleOptionOrdersResponseInner
     */
    price?: string;
    /**
     *
     * @type {string}
     * @memberof CancelMultipleOptionOrdersResponseInner
     */
    quantity?: string;
    /**
     *
     * @type {string}
     * @memberof CancelMultipleOptionOrdersResponseInner
     */
    executedQty?: string;
    /**
     *
     * @type {number}
     * @memberof CancelMultipleOptionOrdersResponseInner
     */
    fee?: number;
    /**
     *
     * @type {string}
     * @memberof CancelMultipleOptionOrdersResponseInner
     */
    side?: string;
    /**
     *
     * @type {string}
     * @memberof CancelMultipleOptionOrdersResponseInner
     */
    type?: string;
    /**
     *
     * @type {string}
     * @memberof CancelMultipleOptionOrdersResponseInner
     */
    timeInForce?: string;
    /**
     *
     * @type {number}
     * @memberof CancelMultipleOptionOrdersResponseInner
     */
    createTime?: number;
    /**
     *
     * @type {string}
     * @memberof CancelMultipleOptionOrdersResponseInner
     */
    status?: string;
    /**
     *
     * @type {string}
     * @memberof CancelMultipleOptionOrdersResponseInner
     */
    avgPrice?: string;
    /**
     *
     * @type {boolean}
     * @memberof CancelMultipleOptionOrdersResponseInner
     */
    reduceOnly?: boolean;
    /**
     *
     * @type {string}
     * @memberof CancelMultipleOptionOrdersResponseInner
     */
    clientOrderId?: string;
    /**
     *
     * @type {number}
     * @memberof CancelMultipleOptionOrdersResponseInner
     */
    updateTime?: number;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 CancelMultipleOptionOrdersResponse
 */
interface CancelMultipleOptionOrdersResponse extends Array<CancelMultipleOptionOrdersResponseInner> {
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 CancelOptionOrderResponse
 */
interface CancelOptionOrderResponse {
    /**
     *
     * @type {number}
     * @memberof CancelOptionOrderResponse
     */
    orderId?: number;
    /**
     *
     * @type {string}
     * @memberof CancelOptionOrderResponse
     */
    symbol?: string;
    /**
     *
     * @type {string}
     * @memberof CancelOptionOrderResponse
     */
    price?: string;
    /**
     *
     * @type {string}
     * @memberof CancelOptionOrderResponse
     */
    quantity?: string;
    /**
     *
     * @type {string}
     * @memberof CancelOptionOrderResponse
     */
    executedQty?: string;
    /**
     *
     * @type {string}
     * @memberof CancelOptionOrderResponse
     */
    fee?: string;
    /**
     *
     * @type {string}
     * @memberof CancelOptionOrderResponse
     */
    side?: string;
    /**
     *
     * @type {string}
     * @memberof CancelOptionOrderResponse
     */
    type?: string;
    /**
     *
     * @type {string}
     * @memberof CancelOptionOrderResponse
     */
    timeInForce?: string;
    /**
     *
     * @type {boolean}
     * @memberof CancelOptionOrderResponse
     */
    reduceOnly?: boolean;
    /**
     *
     * @type {boolean}
     * @memberof CancelOptionOrderResponse
     */
    postOnly?: boolean;
    /**
     *
     * @type {number}
     * @memberof CancelOptionOrderResponse
     */
    createDate?: number;
    /**
     *
     * @type {number}
     * @memberof CancelOptionOrderResponse
     */
    updateTime?: number;
    /**
     *
     * @type {string}
     * @memberof CancelOptionOrderResponse
     */
    status?: string;
    /**
     *
     * @type {string}
     * @memberof CancelOptionOrderResponse
     */
    avgPrice?: string;
    /**
     *
     * @type {string}
     * @memberof CancelOptionOrderResponse
     */
    source?: string;
    /**
     *
     * @type {string}
     * @memberof CancelOptionOrderResponse
     */
    clientOrderId?: string;
    /**
     *
     * @type {number}
     * @memberof CancelOptionOrderResponse
     */
    priceScale?: number;
    /**
     *
     * @type {number}
     * @memberof CancelOptionOrderResponse
     */
    quantityScale?: number;
    /**
     *
     * @type {string}
     * @memberof CancelOptionOrderResponse
     */
    optionSide?: string;
    /**
     *
     * @type {string}
     * @memberof CancelOptionOrderResponse
     */
    quoteAsset?: string;
    /**
     *
     * @type {boolean}
     * @memberof CancelOptionOrderResponse
     */
    mmp?: boolean;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 CheckServerTimeResponse
 */
interface CheckServerTimeResponse {
    /**
     *
     * @type {number}
     * @memberof CheckServerTimeResponse
     */
    serverTime?: number;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 ExchangeInformationResponseOptionAssetsInner
 */
interface ExchangeInformationResponseOptionAssetsInner {
    /**
     *
     * @type {string}
     * @memberof ExchangeInformationResponseOptionAssetsInner
     */
    name?: string;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 ExchangeInformationResponseOptionContractsInner
 */
interface ExchangeInformationResponseOptionContractsInner {
    /**
     *
     * @type {string}
     * @memberof ExchangeInformationResponseOptionContractsInner
     */
    baseAsset?: string;
    /**
     *
     * @type {string}
     * @memberof ExchangeInformationResponseOptionContractsInner
     */
    quoteAsset?: string;
    /**
     *
     * @type {string}
     * @memberof ExchangeInformationResponseOptionContractsInner
     */
    underlying?: string;
    /**
     *
     * @type {string}
     * @memberof ExchangeInformationResponseOptionContractsInner
     */
    settleAsset?: string;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 ExchangeInformationResponseOptionSymbolsInnerFiltersInner
 */
interface ExchangeInformationResponseOptionSymbolsInnerFiltersInner {
    /**
     *
     * @type {string}
     * @memberof ExchangeInformationResponseOptionSymbolsInnerFiltersInner
     */
    filterType?: string;
    /**
     *
     * @type {string}
     * @memberof ExchangeInformationResponseOptionSymbolsInnerFiltersInner
     */
    minPrice?: string;
    /**
     *
     * @type {string}
     * @memberof ExchangeInformationResponseOptionSymbolsInnerFiltersInner
     */
    maxPrice?: string;
    /**
     *
     * @type {string}
     * @memberof ExchangeInformationResponseOptionSymbolsInnerFiltersInner
     */
    tickSize?: string;
    /**
     *
     * @type {string}
     * @memberof ExchangeInformationResponseOptionSymbolsInnerFiltersInner
     */
    minQty?: string;
    /**
     *
     * @type {string}
     * @memberof ExchangeInformationResponseOptionSymbolsInnerFiltersInner
     */
    maxQty?: string;
    /**
     *
     * @type {string}
     * @memberof ExchangeInformationResponseOptionSymbolsInnerFiltersInner
     */
    stepSize?: string;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 ExchangeInformationResponseOptionSymbolsInner
 */
interface ExchangeInformationResponseOptionSymbolsInner {
    /**
     *
     * @type {number}
     * @memberof ExchangeInformationResponseOptionSymbolsInner
     */
    expiryDate?: number;
    /**
     *
     * @type {Array<ExchangeInformationResponseOptionSymbolsInnerFiltersInner>}
     * @memberof ExchangeInformationResponseOptionSymbolsInner
     */
    filters?: Array<ExchangeInformationResponseOptionSymbolsInnerFiltersInner>;
    /**
     *
     * @type {string}
     * @memberof ExchangeInformationResponseOptionSymbolsInner
     */
    symbol?: string;
    /**
     *
     * @type {string}
     * @memberof ExchangeInformationResponseOptionSymbolsInner
     */
    side?: string;
    /**
     *
     * @type {string}
     * @memberof ExchangeInformationResponseOptionSymbolsInner
     */
    strikePrice?: string;
    /**
     *
     * @type {string}
     * @memberof ExchangeInformationResponseOptionSymbolsInner
     */
    underlying?: string;
    /**
     *
     * @type {number}
     * @memberof ExchangeInformationResponseOptionSymbolsInner
     */
    unit?: number;
    /**
     *
     * @type {string}
     * @memberof ExchangeInformationResponseOptionSymbolsInner
     */
    makerFeeRate?: string;
    /**
     *
     * @type {string}
     * @memberof ExchangeInformationResponseOptionSymbolsInner
     */
    takerFeeRate?: string;
    /**
     *
     * @type {string}
     * @memberof ExchangeInformationResponseOptionSymbolsInner
     */
    minQty?: string;
    /**
     *
     * @type {string}
     * @memberof ExchangeInformationResponseOptionSymbolsInner
     */
    maxQty?: string;
    /**
     *
     * @type {string}
     * @memberof ExchangeInformationResponseOptionSymbolsInner
     */
    initialMargin?: string;
    /**
     *
     * @type {string}
     * @memberof ExchangeInformationResponseOptionSymbolsInner
     */
    maintenanceMargin?: string;
    /**
     *
     * @type {string}
     * @memberof ExchangeInformationResponseOptionSymbolsInner
     */
    minInitialMargin?: string;
    /**
     *
     * @type {string}
     * @memberof ExchangeInformationResponseOptionSymbolsInner
     */
    minMaintenanceMargin?: string;
    /**
     *
     * @type {number}
     * @memberof ExchangeInformationResponseOptionSymbolsInner
     */
    priceScale?: number;
    /**
     *
     * @type {number}
     * @memberof ExchangeInformationResponseOptionSymbolsInner
     */
    quantityScale?: number;
    /**
     *
     * @type {string}
     * @memberof ExchangeInformationResponseOptionSymbolsInner
     */
    quoteAsset?: string;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 ExchangeInformationResponseRateLimitsInner
 */
interface ExchangeInformationResponseRateLimitsInner {
    /**
     *
     * @type {string}
     * @memberof ExchangeInformationResponseRateLimitsInner
     */
    rateLimitType?: string;
    /**
     *
     * @type {string}
     * @memberof ExchangeInformationResponseRateLimitsInner
     */
    interval?: string;
    /**
     *
     * @type {number}
     * @memberof ExchangeInformationResponseRateLimitsInner
     */
    intervalNum?: number;
    /**
     *
     * @type {number}
     * @memberof ExchangeInformationResponseRateLimitsInner
     */
    limit?: number;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 ExchangeInformationResponse
 */
interface ExchangeInformationResponse {
    /**
     *
     * @type {string}
     * @memberof ExchangeInformationResponse
     */
    timezone?: string;
    /**
     *
     * @type {number}
     * @memberof ExchangeInformationResponse
     */
    serverTime?: number;
    /**
     *
     * @type {Array<ExchangeInformationResponseOptionContractsInner>}
     * @memberof ExchangeInformationResponse
     */
    optionContracts?: Array<ExchangeInformationResponseOptionContractsInner>;
    /**
     *
     * @type {Array<ExchangeInformationResponseOptionAssetsInner>}
     * @memberof ExchangeInformationResponse
     */
    optionAssets?: Array<ExchangeInformationResponseOptionAssetsInner>;
    /**
     *
     * @type {Array<ExchangeInformationResponseOptionSymbolsInner>}
     * @memberof ExchangeInformationResponse
     */
    optionSymbols?: Array<ExchangeInformationResponseOptionSymbolsInner>;
    /**
     *
     * @type {Array<ExchangeInformationResponseRateLimitsInner>}
     * @memberof ExchangeInformationResponse
     */
    rateLimits?: Array<ExchangeInformationResponseRateLimitsInner>;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 ExtendBlockTradeOrderResponseLegsInner
 */
interface ExtendBlockTradeOrderResponseLegsInner {
    /**
     *
     * @type {string}
     * @memberof ExtendBlockTradeOrderResponseLegsInner
     */
    symbol?: string;
    /**
     *
     * @type {string}
     * @memberof ExtendBlockTradeOrderResponseLegsInner
     */
    side?: string;
    /**
     *
     * @type {string}
     * @memberof ExtendBlockTradeOrderResponseLegsInner
     */
    quantity?: string;
    /**
     *
     * @type {string}
     * @memberof ExtendBlockTradeOrderResponseLegsInner
     */
    price?: string;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 ExtendBlockTradeOrderResponse
 */
interface ExtendBlockTradeOrderResponse {
    /**
     *
     * @type {string}
     * @memberof ExtendBlockTradeOrderResponse
     */
    blockTradeSettlementKey?: string;
    /**
     *
     * @type {number}
     * @memberof ExtendBlockTradeOrderResponse
     */
    expireTime?: number;
    /**
     *
     * @type {string}
     * @memberof ExtendBlockTradeOrderResponse
     */
    liquidity?: string;
    /**
     *
     * @type {string}
     * @memberof ExtendBlockTradeOrderResponse
     */
    status?: string;
    /**
     *
     * @type {number}
     * @memberof ExtendBlockTradeOrderResponse
     */
    createTime?: number;
    /**
     *
     * @type {Array<ExtendBlockTradeOrderResponseLegsInner>}
     * @memberof ExtendBlockTradeOrderResponse
     */
    legs?: Array<ExtendBlockTradeOrderResponseLegsInner>;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 GetAutoCancelAllOpenOrdersResponse
 */
interface GetAutoCancelAllOpenOrdersResponse {
    /**
     *
     * @type {string}
     * @memberof GetAutoCancelAllOpenOrdersResponse
     */
    underlying?: string;
    /**
     *
     * @type {number}
     * @memberof GetAutoCancelAllOpenOrdersResponse
     */
    countdownTime?: number;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 GetDownloadIdForOptionTransactionHistoryResponse
 */
interface GetDownloadIdForOptionTransactionHistoryResponse {
    /**
     *
     * @type {number}
     * @memberof GetDownloadIdForOptionTransactionHistoryResponse
     */
    avgCostTimestampOfLast30d?: number;
    /**
     *
     * @type {string}
     * @memberof GetDownloadIdForOptionTransactionHistoryResponse
     */
    downloadId?: string;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 GetMarketMakerProtectionConfigResponse
 */
interface GetMarketMakerProtectionConfigResponse {
    /**
     *
     * @type {number}
     * @memberof GetMarketMakerProtectionConfigResponse
     */
    underlyingId?: number;
    /**
     *
     * @type {string}
     * @memberof GetMarketMakerProtectionConfigResponse
     */
    underlying?: string;
    /**
     *
     * @type {number}
     * @memberof GetMarketMakerProtectionConfigResponse
     */
    windowTimeInMilliseconds?: number;
    /**
     *
     * @type {number}
     * @memberof GetMarketMakerProtectionConfigResponse
     */
    frozenTimeInMilliseconds?: number;
    /**
     *
     * @type {string}
     * @memberof GetMarketMakerProtectionConfigResponse
     */
    qtyLimit?: string;
    /**
     *
     * @type {string}
     * @memberof GetMarketMakerProtectionConfigResponse
     */
    deltaLimit?: string;
    /**
     *
     * @type {number}
     * @memberof GetMarketMakerProtectionConfigResponse
     */
    lastTriggerTime?: number;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 GetOptionTransactionHistoryDownloadLinkByIdResponse1
 */
interface GetOptionTransactionHistoryDownloadLinkByIdResponse1 {
    /**
     *
     * @type {string}
     * @memberof GetOptionTransactionHistoryDownloadLinkByIdResponse1
     */
    downloadId?: string;
    /**
     *
     * @type {string}
     * @memberof GetOptionTransactionHistoryDownloadLinkByIdResponse1
     */
    status?: string;
    /**
     *
     * @type {string}
     * @memberof GetOptionTransactionHistoryDownloadLinkByIdResponse1
     */
    url?: string;
    /**
     *
     * @type {boolean}
     * @memberof GetOptionTransactionHistoryDownloadLinkByIdResponse1
     */
    notified?: boolean;
    /**
     *
     * @type {number}
     * @memberof GetOptionTransactionHistoryDownloadLinkByIdResponse1
     */
    expirationTimestamp?: number;
    /**
     *
     * @type {string}
     * @memberof GetOptionTransactionHistoryDownloadLinkByIdResponse1
     */
    isExpired?: string;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 GetOptionTransactionHistoryDownloadLinkByIdResponse2
 */
interface GetOptionTransactionHistoryDownloadLinkByIdResponse2 {
    /**
     *
     * @type {string}
     * @memberof GetOptionTransactionHistoryDownloadLinkByIdResponse2
     */
    downloadId?: string;
    /**
     *
     * @type {string}
     * @memberof GetOptionTransactionHistoryDownloadLinkByIdResponse2
     */
    status?: string;
    /**
     *
     * @type {string}
     * @memberof GetOptionTransactionHistoryDownloadLinkByIdResponse2
     */
    url?: string;
    /**
     *
     * @type {boolean}
     * @memberof GetOptionTransactionHistoryDownloadLinkByIdResponse2
     */
    notified?: boolean;
    /**
     *
     * @type {number}
     * @memberof GetOptionTransactionHistoryDownloadLinkByIdResponse2
     */
    expirationTimestamp?: number;
    /**
     *
     * @type {string}
     * @memberof GetOptionTransactionHistoryDownloadLinkByIdResponse2
     */
    isExpired?: string;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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.
 */

/**
 * @type GetOptionTransactionHistoryDownloadLinkByIdResponse
 * @export
 */
type GetOptionTransactionHistoryDownloadLinkByIdResponse = GetOptionTransactionHistoryDownloadLinkByIdResponse1 | GetOptionTransactionHistoryDownloadLinkByIdResponse2;

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 HistoricalExerciseRecordsResponseInner
 */
interface HistoricalExerciseRecordsResponseInner {
    /**
     *
     * @type {string}
     * @memberof HistoricalExerciseRecordsResponseInner
     */
    symbol?: string;
    /**
     *
     * @type {string}
     * @memberof HistoricalExerciseRecordsResponseInner
     */
    strikePrice?: string;
    /**
     *
     * @type {string}
     * @memberof HistoricalExerciseRecordsResponseInner
     */
    realStrikePrice?: string;
    /**
     *
     * @type {number}
     * @memberof HistoricalExerciseRecordsResponseInner
     */
    expiryDate?: number;
    /**
     *
     * @type {string}
     * @memberof HistoricalExerciseRecordsResponseInner
     */
    strikeResult?: string;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 HistoricalExerciseRecordsResponse
 */
interface HistoricalExerciseRecordsResponse extends Array<HistoricalExerciseRecordsResponseInner> {
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 KlineCandlestickDataResponseInner
 */
interface KlineCandlestickDataResponseInner {
    /**
     *
     * @type {string}
     * @memberof KlineCandlestickDataResponseInner
     */
    open?: string;
    /**
     *
     * @type {string}
     * @memberof KlineCandlestickDataResponseInner
     */
    high?: string;
    /**
     *
     * @type {string}
     * @memberof KlineCandlestickDataResponseInner
     */
    low?: string;
    /**
     *
     * @type {string}
     * @memberof KlineCandlestickDataResponseInner
     */
    close?: string;
    /**
     *
     * @type {string}
     * @memberof KlineCandlestickDataResponseInner
     */
    volume?: string;
    /**
     *
     * @type {string}
     * @memberof KlineCandlestickDataResponseInner
     */
    amount?: string;
    /**
     *
     * @type {string}
     * @memberof KlineCandlestickDataResponseInner
     */
    interval?: string;
    /**
     *
     * @type {number}
     * @memberof KlineCandlestickDataResponseInner
     */
    tradeCount?: number;
    /**
     *
     * @type {string}
     * @memberof KlineCandlestickDataResponseInner
     */
    takerVolume?: string;
    /**
     *
     * @type {string}
     * @memberof KlineCandlestickDataResponseInner
     */
    takerAmount?: string;
    /**
     *
     * @type {number}
     * @memberof KlineCandlestickDataResponseInner
     */
    openTime?: number;
    /**
     *
     * @type {number}
     * @memberof KlineCandlestickDataResponseInner
     */
    closeTime?: number;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 KlineCandlestickDataResponse
 */
interface KlineCandlestickDataResponse extends Array<KlineCandlestickDataResponseInner> {
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 NewBlockTradeOrderResponse
 */
interface NewBlockTradeOrderResponse {
    /**
     *
     * @type {string}
     * @memberof NewBlockTradeOrderResponse
     */
    blockTradeSettlementKey?: string;
    /**
     *
     * @type {number}
     * @memberof NewBlockTradeOrderResponse
     */
    expireTime?: number;
    /**
     *
     * @type {string}
     * @memberof NewBlockTradeOrderResponse
     */
    liquidity?: string;
    /**
     *
     * @type {string}
     * @memberof NewBlockTradeOrderResponse
     */
    status?: string;
    /**
     *
     * @type {Array<ExtendBlockTradeOrderResponseLegsInner>}
     * @memberof NewBlockTradeOrderResponse
     */
    legs?: Array<ExtendBlockTradeOrderResponseLegsInner>;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 NewOrderResponse1
 */
interface NewOrderResponse1 {
    /**
     *
     * @type {number}
     * @memberof NewOrderResponse1
     */
    orderId?: number;
    /**
     *
     * @type {string}
     * @memberof NewOrderResponse1
     */
    symbol?: string;
    /**
     *
     * @type {string}
     * @memberof NewOrderResponse1
     */
    price?: string;
    /**
     *
     * @type {string}
     * @memberof NewOrderResponse1
     */
    quantity?: string;
    /**
     *
     * @type {string}
     * @memberof NewOrderResponse1
     */
    side?: string;
    /**
     *
     * @type {string}
     * @memberof NewOrderResponse1
     */
    type?: string;
    /**
     *
     * @type {number}
     * @memberof NewOrderResponse1
     */
    createDate?: number;
    /**
     *
     * @type {boolean}
     * @memberof NewOrderResponse1
     */
    reduceOnly?: boolean;
    /**
     *
     * @type {boolean}
     * @memberof NewOrderResponse1
     */
    postOnly?: boolean;
    /**
     *
     * @type {boolean}
     * @memberof NewOrderResponse1
     */
    mmp?: boolean;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 NewOrderResponse2
 */
interface NewOrderResponse2 {
    /**
     *
     * @type {number}
     * @memberof NewOrderResponse2
     */
    orderId?: number;
    /**
     *
     * @type {string}
     * @memberof NewOrderResponse2
     */
    symbol?: string;
    /**
     *
     * @type {string}
     * @memberof NewOrderResponse2
     */
    price?: string;
    /**
     *
     * @type {string}
     * @memberof NewOrderResponse2
     */
    quantity?: string;
    /**
     *
     * @type {string}
     * @memberof NewOrderResponse2
     */
    executedQty?: string;
    /**
     *
     * @type {string}
     * @memberof NewOrderResponse2
     */
    fee?: string;
    /**
     *
     * @type {string}
     * @memberof NewOrderResponse2
     */
    side?: string;
    /**
     *
     * @type {string}
     * @memberof NewOrderResponse2
     */
    type?: string;
    /**
     *
     * @type {string}
     * @memberof NewOrderResponse2
     */
    timeInForce?: string;
    /**
     *
     * @type {boolean}
     * @memberof NewOrderResponse2
     */
    reduceOnly?: boolean;
    /**
     *
     * @type {boolean}
     * @memberof NewOrderResponse2
     */
    postOnly?: boolean;
    /**
     *
     * @type {number}
     * @memberof NewOrderResponse2
     */
    createTime?: number;
    /**
     *
     * @type {number}
     * @memberof NewOrderResponse2
     */
    updateTime?: number;
    /**
     *
     * @type {string}
     * @memberof NewOrderResponse2
     */
    status?: string;
    /**
     *
     * @type {string}
     * @memberof NewOrderResponse2
     */
    avgPrice?: string;
    /**
     *
     * @type {string}
     * @memberof NewOrderResponse2
     */
    clientOrderId?: string;
    /**
     *
     * @type {number}
     * @memberof NewOrderResponse2
     */
    priceScale?: number;
    /**
     *
     * @type {number}
     * @memberof NewOrderResponse2
     */
    quantityScale?: number;
    /**
     *
     * @type {string}
     * @memberof NewOrderResponse2
     */
    optionSide?: string;
    /**
     *
     * @type {string}
     * @memberof NewOrderResponse2
     */
    quoteAsset?: string;
    /**
     *
     * @type {boolean}
     * @memberof NewOrderResponse2
     */
    mmp?: boolean;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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.
 */

/**
 * @type NewOrderResponse
 * @export
 */
type NewOrderResponse = NewOrderResponse1 | NewOrderResponse2;

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 OldTradesLookupResponseInner
 */
interface OldTradesLookupResponseInner {
    /**
     *
     * @type {string}
     * @memberof OldTradesLookupResponseInner
     */
    id?: string;
    /**
     *
     * @type {string}
     * @memberof OldTradesLookupResponseInner
     */
    tradeId?: string;
    /**
     *
     * @type {string}
     * @memberof OldTradesLookupResponseInner
     */
    price?: string;
    /**
     *
     * @type {string}
     * @memberof OldTradesLookupResponseInner
     */
    qty?: string;
    /**
     *
     * @type {string}
     * @memberof OldTradesLookupResponseInner
     */
    quoteQty?: string;
    /**
     *
     * @type {number}
     * @memberof OldTradesLookupResponseInner
     */
    side?: number;
    /**
     *
     * @type {number}
     * @memberof OldTradesLookupResponseInner
     */
    time?: number;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 OldTradesLookupResponse
 */
interface OldTradesLookupResponse extends Array<OldTradesLookupResponseInner> {
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 OpenInterestResponseInner
 */
interface OpenInterestResponseInner$1 {
    /**
     *
     * @type {string}
     * @memberof OpenInterestResponseInner
     */
    symbol?: string;
    /**
     *
     * @type {string}
     * @memberof OpenInterestResponseInner
     */
    sumOpenInterest?: string;
    /**
     *
     * @type {string}
     * @memberof OpenInterestResponseInner
     */
    sumOpenInterestUsd?: string;
    /**
     *
     * @type {string}
     * @memberof OpenInterestResponseInner
     */
    timestamp?: string;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 OpenInterestResponse
 */
interface OpenInterestResponse$1 extends Array<OpenInterestResponseInner$1> {
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 OptionAccountInformationResponseAssetInner
 */
interface OptionAccountInformationResponseAssetInner {
    /**
     *
     * @type {string}
     * @memberof OptionAccountInformationResponseAssetInner
     */
    asset?: string;
    /**
     *
     * @type {string}
     * @memberof OptionAccountInformationResponseAssetInner
     */
    marginBalance?: string;
    /**
     *
     * @type {string}
     * @memberof OptionAccountInformationResponseAssetInner
     */
    equity?: string;
    /**
     *
     * @type {string}
     * @memberof OptionAccountInformationResponseAssetInner
     */
    available?: string;
    /**
     *
     * @type {string}
     * @memberof OptionAccountInformationResponseAssetInner
     */
    locked?: string;
    /**
     *
     * @type {string}
     * @memberof OptionAccountInformationResponseAssetInner
     */
    unrealizedPNL?: string;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 OptionAccountInformationResponseGreekInner
 */
interface OptionAccountInformationResponseGreekInner {
    /**
     *
     * @type {string}
     * @memberof OptionAccountInformationResponseGreekInner
     */
    underlying?: string;
    /**
     *
     * @type {string}
     * @memberof OptionAccountInformationResponseGreekInner
     */
    delta?: string;
    /**
     *
     * @type {string}
     * @memberof OptionAccountInformationResponseGreekInner
     */
    gamma?: string;
    /**
     *
     * @type {string}
     * @memberof OptionAccountInformationResponseGreekInner
     */
    theta?: string;
    /**
     *
     * @type {string}
     * @memberof OptionAccountInformationResponseGreekInner
     */
    vega?: string;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 OptionAccountInformationResponse
 */
interface OptionAccountInformationResponse {
    /**
     *
     * @type {Array<OptionAccountInformationResponseAssetInner>}
     * @memberof OptionAccountInformationResponse
     */
    asset?: Array<OptionAccountInformationResponseAssetInner>;
    /**
     *
     * @type {Array<OptionAccountInformationResponseGreekInner>}
     * @memberof OptionAccountInformationResponse
     */
    greek?: Array<OptionAccountInformationResponseGreekInner>;
    /**
     *
     * @type {number}
     * @memberof OptionAccountInformationResponse
     */
    time?: number;
    /**
     *
     * @type {string}
     * @memberof OptionAccountInformationResponse
     */
    riskLevel?: string;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 OptionMarginAccountInformationResponseAssetInner
 */
interface OptionMarginAccountInformationResponseAssetInner {
    /**
     *
     * @type {string}
     * @memberof OptionMarginAccountInformationResponseAssetInner
     */
    asset?: string;
    /**
     *
     * @type {string}
     * @memberof OptionMarginAccountInformationResponseAssetInner
     */
    marginBalance?: string;
    /**
     *
     * @type {string}
     * @memberof OptionMarginAccountInformationResponseAssetInner
     */
    equity?: string;
    /**
     *
     * @type {string}
     * @memberof OptionMarginAccountInformationResponseAssetInner
     */
    available?: string;
    /**
     *
     * @type {string}
     * @memberof OptionMarginAccountInformationResponseAssetInner
     */
    initialMargin?: string;
    /**
     *
     * @type {string}
     * @memberof OptionMarginAccountInformationResponseAssetInner
     */
    maintMargin?: string;
    /**
     *
     * @type {string}
     * @memberof OptionMarginAccountInformationResponseAssetInner
     */
    unrealizedPNL?: string;
    /**
     *
     * @type {string}
     * @memberof OptionMarginAccountInformationResponseAssetInner
     */
    lpProfit?: string;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 OptionMarginAccountInformationResponse
 */
interface OptionMarginAccountInformationResponse {
    /**
     *
     * @type {Array<OptionMarginAccountInformationResponseAssetInner>}
     * @memberof OptionMarginAccountInformationResponse
     */
    asset?: Array<OptionMarginAccountInformationResponseAssetInner>;
    /**
     *
     * @type {Array<OptionAccountInformationResponseGreekInner>}
     * @memberof OptionMarginAccountInformationResponse
     */
    greek?: Array<OptionAccountInformationResponseGreekInner>;
    /**
     *
     * @type {number}
     * @memberof OptionMarginAccountInformationResponse
     */
    time?: number;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 OptionMarkPriceResponseInner
 */
interface OptionMarkPriceResponseInner {
    /**
     *
     * @type {string}
     * @memberof OptionMarkPriceResponseInner
     */
    symbol?: string;
    /**
     *
     * @type {string}
     * @memberof OptionMarkPriceResponseInner
     */
    markPrice?: string;
    /**
     *
     * @type {string}
     * @memberof OptionMarkPriceResponseInner
     */
    bidIV?: string;
    /**
     *
     * @type {string}
     * @memberof OptionMarkPriceResponseInner
     */
    askIV?: string;
    /**
     *
     * @type {string}
     * @memberof OptionMarkPriceResponseInner
     */
    markIV?: string;
    /**
     *
     * @type {string}
     * @memberof OptionMarkPriceResponseInner
     */
    delta?: string;
    /**
     *
     * @type {string}
     * @memberof OptionMarkPriceResponseInner
     */
    theta?: string;
    /**
     *
     * @type {string}
     * @memberof OptionMarkPriceResponseInner
     */
    gamma?: string;
    /**
     *
     * @type {string}
     * @memberof OptionMarkPriceResponseInner
     */
    vega?: string;
    /**
     *
     * @type {string}
     * @memberof OptionMarkPriceResponseInner
     */
    highPriceLimit?: string;
    /**
     *
     * @type {string}
     * @memberof OptionMarkPriceResponseInner
     */
    lowPriceLimit?: string;
    /**
     *
     * @type {string}
     * @memberof OptionMarkPriceResponseInner
     */
    riskFreeInterest?: string;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 OptionMarkPriceResponse
 */
interface OptionMarkPriceResponse extends Array<OptionMarkPriceResponseInner> {
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 OptionPositionInformationResponseInner
 */
interface OptionPositionInformationResponseInner {
    /**
     *
     * @type {string}
     * @memberof OptionPositionInformationResponseInner
     */
    entryPrice?: string;
    /**
     *
     * @type {string}
     * @memberof OptionPositionInformationResponseInner
     */
    symbol?: string;
    /**
     *
     * @type {string}
     * @memberof OptionPositionInformationResponseInner
     */
    side?: string;
    /**
     *
     * @type {string}
     * @memberof OptionPositionInformationResponseInner
     */
    quantity?: string;
    /**
     *
     * @type {string}
     * @memberof OptionPositionInformationResponseInner
     */
    reducibleQty?: string;
    /**
     *
     * @type {string}
     * @memberof OptionPositionInformationResponseInner
     */
    markValue?: string;
    /**
     *
     * @type {string}
     * @memberof OptionPositionInformationResponseInner
     */
    ror?: string;
    /**
     *
     * @type {string}
     * @memberof OptionPositionInformationResponseInner
     */
    unrealizedPNL?: string;
    /**
     *
     * @type {string}
     * @memberof OptionPositionInformationResponseInner
     */
    markPrice?: string;
    /**
     *
     * @type {string}
     * @memberof OptionPositionInformationResponseInner
     */
    strikePrice?: string;
    /**
     *
     * @type {string}
     * @memberof OptionPositionInformationResponseInner
     */
    positionCost?: string;
    /**
     *
     * @type {number}
     * @memberof OptionPositionInformationResponseInner
     */
    expiryDate?: number;
    /**
     *
     * @type {number}
     * @memberof OptionPositionInformationResponseInner
     */
    priceScale?: number;
    /**
     *
     * @type {number}
     * @memberof OptionPositionInformationResponseInner
     */
    quantityScale?: number;
    /**
     *
     * @type {string}
     * @memberof OptionPositionInformationResponseInner
     */
    optionSide?: string;
    /**
     *
     * @type {string}
     * @memberof OptionPositionInformationResponseInner
     */
    quoteAsset?: string;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 OptionPositionInformationResponse
 */
interface OptionPositionInformationResponse extends Array<OptionPositionInformationResponseInner> {
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 OrderBookResponseAsksItem
 */
interface OrderBookResponseAsksItem extends Array<string> {
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 OrderBookResponseBidsItem
 */
interface OrderBookResponseBidsItem extends Array<string> {
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 OrderBookResponse
 */
interface OrderBookResponse {
    /**
     *
     * @type {number}
     * @memberof OrderBookResponse
     */
    T?: number;
    /**
     *
     * @type {number}
     * @memberof OrderBookResponse
     */
    u?: number;
    /**
     *
     * @type {Array<OrderBookResponseBidsItem>}
     * @memberof OrderBookResponse
     */
    bids?: Array<OrderBookResponseBidsItem>;
    /**
     *
     * @type {Array<OrderBookResponseAsksItem>}
     * @memberof OrderBookResponse
     */
    asks?: Array<OrderBookResponseAsksItem>;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 PlaceMultipleOrdersOrdersParameterInner
 */
interface PlaceMultipleOrdersOrdersParameterInner {
    /**
     *
     * @type {string}
     * @memberof PlaceMultipleOrdersOrdersParameterInner
     */
    symbol?: string;
    /**
     *
     * @type {string}
     * @memberof PlaceMultipleOrdersOrdersParameterInner
     */
    side?: PlaceMultipleOrdersOrdersParameterInnerSideEnum;
    /**
     *
     * @type {string}
     * @memberof PlaceMultipleOrdersOrdersParameterInner
     */
    type?: PlaceMultipleOrdersOrdersParameterInnerTypeEnum;
    /**
     *
     * @type {number}
     * @memberof PlaceMultipleOrdersOrdersParameterInner
     */
    quantity?: number;
    /**
     *
     * @type {number}
     * @memberof PlaceMultipleOrdersOrdersParameterInner
     */
    price?: number;
    /**
     *
     * @type {string}
     * @memberof PlaceMultipleOrdersOrdersParameterInner
     */
    timeInForce?: PlaceMultipleOrdersOrdersParameterInnerTimeInForceEnum;
    /**
     *
     * @type {boolean}
     * @memberof PlaceMultipleOrdersOrdersParameterInner
     */
    reduceOnly?: boolean;
    /**
     *
     * @type {boolean}
     * @memberof PlaceMultipleOrdersOrdersParameterInner
     */
    postOnly?: boolean;
    /**
     *
     * @type {string}
     * @memberof PlaceMultipleOrdersOrdersParameterInner
     */
    newOrderRespType?: PlaceMultipleOrdersOrdersParameterInnerNewOrderRespTypeEnum;
    /**
     *
     * @type {string}
     * @memberof PlaceMultipleOrdersOrdersParameterInner
     */
    clientOrderId?: string;
    /**
     *
     * @type {boolean}
     * @memberof PlaceMultipleOrdersOrdersParameterInner
     */
    isMmp?: boolean;
}
declare const PlaceMultipleOrdersOrdersParameterInnerSideEnum: {
    readonly BUY: "BUY";
    readonly SELL: "SELL";
};
type PlaceMultipleOrdersOrdersParameterInnerSideEnum = (typeof PlaceMultipleOrdersOrdersParameterInnerSideEnum)[keyof typeof PlaceMultipleOrdersOrdersParameterInnerSideEnum];
declare const PlaceMultipleOrdersOrdersParameterInnerTypeEnum: {
    readonly LIMIT: "LIMIT";
};
type PlaceMultipleOrdersOrdersParameterInnerTypeEnum = (typeof PlaceMultipleOrdersOrdersParameterInnerTypeEnum)[keyof typeof PlaceMultipleOrdersOrdersParameterInnerTypeEnum];
declare const PlaceMultipleOrdersOrdersParameterInnerTimeInForceEnum: {
    readonly GTC: "GTC";
    readonly IOC: "IOC";
    readonly FOK: "FOK";
};
type PlaceMultipleOrdersOrdersParameterInnerTimeInForceEnum = (typeof PlaceMultipleOrdersOrdersParameterInnerTimeInForceEnum)[keyof typeof PlaceMultipleOrdersOrdersParameterInnerTimeInForceEnum];
declare const PlaceMultipleOrdersOrdersParameterInnerNewOrderRespTypeEnum: {
    readonly ACK: "ACK";
    readonly RESULT: "RESULT";
};
type PlaceMultipleOrdersOrdersParameterInnerNewOrderRespTypeEnum = (typeof PlaceMultipleOrdersOrdersParameterInnerNewOrderRespTypeEnum)[keyof typeof PlaceMultipleOrdersOrdersParameterInnerNewOrderRespTypeEnum];

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 PlaceMultipleOrdersResponseInner
 */
interface PlaceMultipleOrdersResponseInner {
    /**
     *
     * @type {number}
     * @memberof PlaceMultipleOrdersResponseInner
     */
    orderId?: number;
    /**
     *
     * @type {string}
     * @memberof PlaceMultipleOrdersResponseInner
     */
    symbol?: string;
    /**
     *
     * @type {string}
     * @memberof PlaceMultipleOrdersResponseInner
     */
    price?: string;
    /**
     *
     * @type {string}
     * @memberof PlaceMultipleOrdersResponseInner
     */
    quantity?: string;
    /**
     *
     * @type {string}
     * @memberof PlaceMultipleOrdersResponseInner
     */
    side?: string;
    /**
     *
     * @type {string}
     * @memberof PlaceMultipleOrdersResponseInner
     */
    type?: string;
    /**
     *
     * @type {boolean}
     * @memberof PlaceMultipleOrdersResponseInner
     */
    reduceOnly?: boolean;
    /**
     *
     * @type {boolean}
     * @memberof PlaceMultipleOrdersResponseInner
     */
    postOnly?: boolean;
    /**
     *
     * @type {string}
     * @memberof PlaceMultipleOrdersResponseInner
     */
    clientOrderId?: string;
    /**
     *
     * @type {boolean}
     * @memberof PlaceMultipleOrdersResponseInner
     */
    mmp?: boolean;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 PlaceMultipleOrdersResponse
 */
interface PlaceMultipleOrdersResponse extends Array<PlaceMultipleOrdersResponseInner> {
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 QueryBlockTradeDetailsResponseLegsInner
 */
interface QueryBlockTradeDetailsResponseLegsInner {
    /**
     *
     * @type {string}
     * @memberof QueryBlockTradeDetailsResponseLegsInner
     */
    symbol?: string;
    /**
     *
     * @type {string}
     * @memberof QueryBlockTradeDetailsResponseLegsInner
     */
    side?: string;
    /**
     *
     * @type {string}
     * @memberof QueryBlockTradeDetailsResponseLegsInner
     */
    quantity?: string;
    /**
     *
     * @type {string}
     * @memberof QueryBlockTradeDetailsResponseLegsInner
     */
    price?: string;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 QueryBlockTradeDetailsResponse
 */
interface QueryBlockTradeDetailsResponse {
    /**
     *
     * @type {string}
     * @memberof QueryBlockTradeDetailsResponse
     */
    blockTradeSettlementKey?: string;
    /**
     *
     * @type {number}
     * @memberof QueryBlockTradeDetailsResponse
     */
    expireTime?: number;
    /**
     *
     * @type {string}
     * @memberof QueryBlockTradeDetailsResponse
     */
    liquidity?: string;
    /**
     *
     * @type {string}
     * @memberof QueryBlockTradeDetailsResponse
     */
    status?: string;
    /**
     *
     * @type {number}
     * @memberof QueryBlockTradeDetailsResponse
     */
    createTime?: number;
    /**
     *
     * @type {Array<QueryBlockTradeDetailsResponseLegsInner>}
     * @memberof QueryBlockTradeDetailsResponse
     */
    legs?: Array<QueryBlockTradeDetailsResponseLegsInner>;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 QueryBlockTradeOrderResponseInner
 */
interface QueryBlockTradeOrderResponseInner {
    /**
     *
     * @type {string}
     * @memberof QueryBlockTradeOrderResponseInner
     */
    blockTradeSettlementKey?: string;
    /**
     *
     * @type {number}
     * @memberof QueryBlockTradeOrderResponseInner
     */
    expireTime?: number;
    /**
     *
     * @type {string}
     * @memberof QueryBlockTradeOrderResponseInner
     */
    liquidity?: string;
    /**
     *
     * @type {string}
     * @memberof QueryBlockTradeOrderResponseInner
     */
    status?: string;
    /**
     *
     * @type {number}
     * @memberof QueryBlockTradeOrderResponseInner
     */
    createTime?: number;
    /**
     *
     * @type {Array<ExtendBlockTradeOrderResponseLegsInner>}
     * @memberof QueryBlockTradeOrderResponseInner
     */
    legs?: Array<ExtendBlockTradeOrderResponseLegsInner>;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 QueryBlockTradeOrderResponse
 */
interface QueryBlockTradeOrderResponse extends Array<QueryBlockTradeOrderResponseInner> {
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 QueryCurrentOpenOptionOrdersResponseInner
 */
interface QueryCurrentOpenOptionOrdersResponseInner {
    /**
     *
     * @type {number}
     * @memberof QueryCurrentOpenOptionOrdersResponseInner
     */
    orderId?: number;
    /**
     *
     * @type {string}
     * @memberof QueryCurrentOpenOptionOrdersResponseInner
     */
    symbol?: string;
    /**
     *
     * @type {string}
     * @memberof QueryCurrentOpenOptionOrdersResponseInner
     */
    price?: string;
    /**
     *
     * @type {string}
     * @memberof QueryCurrentOpenOptionOrdersResponseInner
     */
    quantity?: string;
    /**
     *
     * @type {string}
     * @memberof QueryCurrentOpenOptionOrdersResponseInner
     */
    executedQty?: string;
    /**
     *
     * @type {string}
     * @memberof QueryCurrentOpenOptionOrdersResponseInner
     */
    fee?: string;
    /**
     *
     * @type {string}
     * @memberof QueryCurrentOpenOptionOrdersResponseInner
     */
    side?: string;
    /**
     *
     * @type {string}
     * @memberof QueryCurrentOpenOptionOrdersResponseInner
     */
    type?: string;
    /**
     *
     * @type {string}
     * @memberof QueryCurrentOpenOptionOrdersResponseInner
     */
    timeInForce?: string;
    /**
     *
     * @type {boolean}
     * @memberof QueryCurrentOpenOptionOrdersResponseInner
     */
    reduceOnly?: boolean;
    /**
     *
     * @type {boolean}
     * @memberof QueryCurrentOpenOptionOrdersResponseInner
     */
    postOnly?: boolean;
    /**
     *
     * @type {number}
     * @memberof QueryCurrentOpenOptionOrdersResponseInner
     */
    createTime?: number;
    /**
     *
     * @type {number}
     * @memberof QueryCurrentOpenOptionOrdersResponseInner
     */
    updateTime?: number;
    /**
     *
     * @type {string}
     * @memberof QueryCurrentOpenOptionOrdersResponseInner
     */
    status?: string;
    /**
     *
     * @type {string}
     * @memberof QueryCurrentOpenOptionOrdersResponseInner
     */
    avgPrice?: string;
    /**
     *
     * @type {string}
     * @memberof QueryCurrentOpenOptionOrdersResponseInner
     */
    clientOrderId?: string;
    /**
     *
     * @type {number}
     * @memberof QueryCurrentOpenOptionOrdersResponseInner
     */
    priceScale?: number;
    /**
     *
     * @type {number}
     * @memberof QueryCurrentOpenOptionOrdersResponseInner
     */
    quantityScale?: number;
    /**
     *
     * @type {string}
     * @memberof QueryCurrentOpenOptionOrdersResponseInner
     */
    optionSide?: string;
    /**
     *
     * @type {string}
     * @memberof QueryCurrentOpenOptionOrdersResponseInner
     */
    quoteAsset?: string;
    /**
     *
     * @type {boolean}
     * @memberof QueryCurrentOpenOptionOrdersResponseInner
     */
    mmp?: boolean;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 QueryCurrentOpenOptionOrdersResponse
 */
interface QueryCurrentOpenOptionOrdersResponse extends Array<QueryCurrentOpenOptionOrdersResponseInner> {
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 QueryOptionOrderHistoryResponseInner
 */
interface QueryOptionOrderHistoryResponseInner {
    /**
     *
     * @type {number}
     * @memberof QueryOptionOrderHistoryResponseInner
     */
    orderId?: number;
    /**
     *
     * @type {string}
     * @memberof QueryOptionOrderHistoryResponseInner
     */
    symbol?: string;
    /**
     *
     * @type {string}
     * @memberof QueryOptionOrderHistoryResponseInner
     */
    price?: string;
    /**
     *
     * @type {string}
     * @memberof QueryOptionOrderHistoryResponseInner
     */
    quantity?: string;
    /**
     *
     * @type {string}
     * @memberof QueryOptionOrderHistoryResponseInner
     */
    executedQty?: string;
    /**
     *
     * @type {string}
     * @memberof QueryOptionOrderHistoryResponseInner
     */
    fee?: string;
    /**
     *
     * @type {string}
     * @memberof QueryOptionOrderHistoryResponseInner
     */
    side?: string;
    /**
     *
     * @type {string}
     * @memberof QueryOptionOrderHistoryResponseInner
     */
    type?: string;
    /**
     *
     * @type {string}
     * @memberof QueryOptionOrderHistoryResponseInner
     */
    timeInForce?: string;
    /**
     *
     * @type {boolean}
     * @memberof QueryOptionOrderHistoryResponseInner
     */
    reduceOnly?: boolean;
    /**
     *
     * @type {boolean}
     * @memberof QueryOptionOrderHistoryResponseInner
     */
    postOnly?: boolean;
    /**
     *
     * @type {number}
     * @memberof QueryOptionOrderHistoryResponseInner
     */
    createTime?: number;
    /**
     *
     * @type {number}
     * @memberof QueryOptionOrderHistoryResponseInner
     */
    updateTime?: number;
    /**
     *
     * @type {string}
     * @memberof QueryOptionOrderHistoryResponseInner
     */
    status?: string;
    /**
     *
     * @type {string}
     * @memberof QueryOptionOrderHistoryResponseInner
     */
    reason?: string;
    /**
     *
     * @type {string}
     * @memberof QueryOptionOrderHistoryResponseInner
     */
    avgPrice?: string;
    /**
     *
     * @type {string}
     * @memberof QueryOptionOrderHistoryResponseInner
     */
    source?: string;
    /**
     *
     * @type {string}
     * @memberof QueryOptionOrderHistoryResponseInner
     */
    clientOrderId?: string;
    /**
     *
     * @type {number}
     * @memberof QueryOptionOrderHistoryResponseInner
     */
    priceScale?: number;
    /**
     *
     * @type {number}
     * @memberof QueryOptionOrderHistoryResponseInner
     */
    quantityScale?: number;
    /**
     *
     * @type {string}
     * @memberof QueryOptionOrderHistoryResponseInner
     */
    optionSide?: string;
    /**
     *
     * @type {string}
     * @memberof QueryOptionOrderHistoryResponseInner
     */
    quoteAsset?: string;
    /**
     *
     * @type {boolean}
     * @memberof QueryOptionOrderHistoryResponseInner
     */
    mmp?: boolean;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 QueryOptionOrderHistoryResponse
 */
interface QueryOptionOrderHistoryResponse extends Array<QueryOptionOrderHistoryResponseInner> {
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 QuerySingleOrderResponse
 */
interface QuerySingleOrderResponse {
    /**
     *
     * @type {number}
     * @memberof QuerySingleOrderResponse
     */
    orderId?: number;
    /**
     *
     * @type {string}
     * @memberof QuerySingleOrderResponse
     */
    symbol?: string;
    /**
     *
     * @type {string}
     * @memberof QuerySingleOrderResponse
     */
    price?: string;
    /**
     *
     * @type {string}
     * @memberof QuerySingleOrderResponse
     */
    quantity?: string;
    /**
     *
     * @type {string}
     * @memberof QuerySingleOrderResponse
     */
    executedQty?: string;
    /**
     *
     * @type {string}
     * @memberof QuerySingleOrderResponse
     */
    fee?: string;
    /**
     *
     * @type {string}
     * @memberof QuerySingleOrderResponse
     */
    side?: string;
    /**
     *
     * @type {string}
     * @memberof QuerySingleOrderResponse
     */
    type?: string;
    /**
     *
     * @type {string}
     * @memberof QuerySingleOrderResponse
     */
    timeInForce?: string;
    /**
     *
     * @type {boolean}
     * @memberof QuerySingleOrderResponse
     */
    reduceOnly?: boolean;
    /**
     *
     * @type {boolean}
     * @memberof QuerySingleOrderResponse
     */
    postOnly?: boolean;
    /**
     *
     * @type {number}
     * @memberof QuerySingleOrderResponse
     */
    createTime?: number;
    /**
     *
     * @type {number}
     * @memberof QuerySingleOrderResponse
     */
    updateTime?: number;
    /**
     *
     * @type {string}
     * @memberof QuerySingleOrderResponse
     */
    status?: string;
    /**
     *
     * @type {string}
     * @memberof QuerySingleOrderResponse
     */
    avgPrice?: string;
    /**
     *
     * @type {string}
     * @memberof QuerySingleOrderResponse
     */
    source?: string;
    /**
     *
     * @type {string}
     * @memberof QuerySingleOrderResponse
     */
    clientOrderId?: string;
    /**
     *
     * @type {number}
     * @memberof QuerySingleOrderResponse
     */
    priceScale?: number;
    /**
     *
     * @type {number}
     * @memberof QuerySingleOrderResponse
     */
    quantityScale?: number;
    /**
     *
     * @type {string}
     * @memberof QuerySingleOrderResponse
     */
    optionSide?: string;
    /**
     *
     * @type {string}
     * @memberof QuerySingleOrderResponse
     */
    quoteAsset?: string;
    /**
     *
     * @type {boolean}
     * @memberof QuerySingleOrderResponse
     */
    mmp?: boolean;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 RecentBlockTradesListResponseInner
 */
interface RecentBlockTradesListResponseInner {
    /**
     *
     * @type {number}
     * @memberof RecentBlockTradesListResponseInner
     */
    id?: number;
    /**
     *
     * @type {number}
     * @memberof RecentBlockTradesListResponseInner
     */
    tradeId?: number;
    /**
     *
     * @type {string}
     * @memberof RecentBlockTradesListResponseInner
     */
    symbol?: string;
    /**
     *
     * @type {string}
     * @memberof RecentBlockTradesListResponseInner
     */
    price?: string;
    /**
     *
     * @type {string}
     * @memberof RecentBlockTradesListResponseInner
     */
    qty?: string;
    /**
     *
     * @type {string}
     * @memberof RecentBlockTradesListResponseInner
     */
    quoteQty?: string;
    /**
     *
     * @type {number}
     * @memberof RecentBlockTradesListResponseInner
     */
    side?: number;
    /**
     *
     * @type {number}
     * @memberof RecentBlockTradesListResponseInner
     */
    time?: number;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 RecentBlockTradesListResponse
 */
interface RecentBlockTradesListResponse extends Array<RecentBlockTradesListResponseInner> {
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 RecentTradesListResponseInner
 */
interface RecentTradesListResponseInner {
    /**
     *
     * @type {string}
     * @memberof RecentTradesListResponseInner
     */
    id?: string;
    /**
     *
     * @type {string}
     * @memberof RecentTradesListResponseInner
     */
    symbol?: string;
    /**
     *
     * @type {string}
     * @memberof RecentTradesListResponseInner
     */
    price?: string;
    /**
     *
     * @type {string}
     * @memberof RecentTradesListResponseInner
     */
    qty?: string;
    /**
     *
     * @type {string}
     * @memberof RecentTradesListResponseInner
     */
    quoteQty?: string;
    /**
     *
     * @type {number}
     * @memberof RecentTradesListResponseInner
     */
    side?: number;
    /**
     *
     * @type {number}
     * @memberof RecentTradesListResponseInner
     */
    time?: number;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 RecentTradesListResponse
 */
interface RecentTradesListResponse extends Array<RecentTradesListResponseInner> {
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 ResetMarketMakerProtectionConfigResponse
 */
interface ResetMarketMakerProtectionConfigResponse {
    /**
     *
     * @type {number}
     * @memberof ResetMarketMakerProtectionConfigResponse
     */
    underlyingId?: number;
    /**
     *
     * @type {string}
     * @memberof ResetMarketMakerProtectionConfigResponse
     */
    underlying?: string;
    /**
     *
     * @type {number}
     * @memberof ResetMarketMakerProtectionConfigResponse
     */
    windowTimeInMilliseconds?: number;
    /**
     *
     * @type {number}
     * @memberof ResetMarketMakerProtectionConfigResponse
     */
    frozenTimeInMilliseconds?: number;
    /**
     *
     * @type {string}
     * @memberof ResetMarketMakerProtectionConfigResponse
     */
    qtyLimit?: string;
    /**
     *
     * @type {string}
     * @memberof ResetMarketMakerProtectionConfigResponse
     */
    deltaLimit?: string;
    /**
     *
     * @type {number}
     * @memberof ResetMarketMakerProtectionConfigResponse
     */
    lastTriggerTime?: number;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 SetAutoCancelAllOpenOrdersResponse
 */
interface SetAutoCancelAllOpenOrdersResponse {
    /**
     *
     * @type {string}
     * @memberof SetAutoCancelAllOpenOrdersResponse
     */
    underlying?: string;
    /**
     *
     * @type {number}
     * @memberof SetAutoCancelAllOpenOrdersResponse
     */
    countdownTime?: number;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 SetMarketMakerProtectionConfigResponse
 */
interface SetMarketMakerProtectionConfigResponse {
    /**
     *
     * @type {number}
     * @memberof SetMarketMakerProtectionConfigResponse
     */
    underlyingId?: number;
    /**
     *
     * @type {string}
     * @memberof SetMarketMakerProtectionConfigResponse
     */
    underlying?: string;
    /**
     *
     * @type {number}
     * @memberof SetMarketMakerProtectionConfigResponse
     */
    windowTimeInMilliseconds?: number;
    /**
     *
     * @type {number}
     * @memberof SetMarketMakerProtectionConfigResponse
     */
    frozenTimeInMilliseconds?: number;
    /**
     *
     * @type {string}
     * @memberof SetMarketMakerProtectionConfigResponse
     */
    qtyLimit?: string;
    /**
     *
     * @type {string}
     * @memberof SetMarketMakerProtectionConfigResponse
     */
    deltaLimit?: string;
    /**
     *
     * @type {number}
     * @memberof SetMarketMakerProtectionConfigResponse
     */
    lastTriggerTime?: number;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 StartUserDataStreamResponse
 */
interface StartUserDataStreamResponse {
    /**
     *
     * @type {string}
     * @memberof StartUserDataStreamResponse
     */
    listenKey?: string;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 SymbolPriceTickerResponse
 */
interface SymbolPriceTickerResponse {
    /**
     *
     * @type {number}
     * @memberof SymbolPriceTickerResponse
     */
    time?: number;
    /**
     *
     * @type {string}
     * @memberof SymbolPriceTickerResponse
     */
    indexPrice?: string;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 Ticker24hrPriceChangeStatisticsResponseInner
 */
interface Ticker24hrPriceChangeStatisticsResponseInner {
    /**
     *
     * @type {string}
     * @memberof Ticker24hrPriceChangeStatisticsResponseInner
     */
    symbol?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24hrPriceChangeStatisticsResponseInner
     */
    priceChange?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24hrPriceChangeStatisticsResponseInner
     */
    priceChangePercent?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24hrPriceChangeStatisticsResponseInner
     */
    lastPrice?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24hrPriceChangeStatisticsResponseInner
     */
    lastQty?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24hrPriceChangeStatisticsResponseInner
     */
    open?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24hrPriceChangeStatisticsResponseInner
     */
    high?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24hrPriceChangeStatisticsResponseInner
     */
    low?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24hrPriceChangeStatisticsResponseInner
     */
    volume?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24hrPriceChangeStatisticsResponseInner
     */
    amount?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24hrPriceChangeStatisticsResponseInner
     */
    bidPrice?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24hrPriceChangeStatisticsResponseInner
     */
    askPrice?: string;
    /**
     *
     * @type {number}
     * @memberof Ticker24hrPriceChangeStatisticsResponseInner
     */
    openTime?: number;
    /**
     *
     * @type {number}
     * @memberof Ticker24hrPriceChangeStatisticsResponseInner
     */
    closeTime?: number;
    /**
     *
     * @type {number}
     * @memberof Ticker24hrPriceChangeStatisticsResponseInner
     */
    firstTradeId?: number;
    /**
     *
     * @type {number}
     * @memberof Ticker24hrPriceChangeStatisticsResponseInner
     */
    tradeCount?: number;
    /**
     *
     * @type {string}
     * @memberof Ticker24hrPriceChangeStatisticsResponseInner
     */
    strikePrice?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24hrPriceChangeStatisticsResponseInner
     */
    exercisePrice?: string;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 Ticker24hrPriceChangeStatisticsResponse
 */
interface Ticker24hrPriceChangeStatisticsResponse extends Array<Ticker24hrPriceChangeStatisticsResponseInner> {
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 UserExerciseRecordResponseInner
 */
interface UserExerciseRecordResponseInner {
    /**
     *
     * @type {string}
     * @memberof UserExerciseRecordResponseInner
     */
    id?: string;
    /**
     *
     * @type {string}
     * @memberof UserExerciseRecordResponseInner
     */
    currency?: string;
    /**
     *
     * @type {string}
     * @memberof UserExerciseRecordResponseInner
     */
    symbol?: string;
    /**
     *
     * @type {string}
     * @memberof UserExerciseRecordResponseInner
     */
    exercisePrice?: string;
    /**
     *
     * @type {string}
     * @memberof UserExerciseRecordResponseInner
     */
    markPrice?: string;
    /**
     *
     * @type {string}
     * @memberof UserExerciseRecordResponseInner
     */
    quantity?: string;
    /**
     *
     * @type {string}
     * @memberof UserExerciseRecordResponseInner
     */
    amount?: string;
    /**
     *
     * @type {string}
     * @memberof UserExerciseRecordResponseInner
     */
    fee?: string;
    /**
     *
     * @type {number}
     * @memberof UserExerciseRecordResponseInner
     */
    createDate?: number;
    /**
     *
     * @type {number}
     * @memberof UserExerciseRecordResponseInner
     */
    priceScale?: number;
    /**
     *
     * @type {number}
     * @memberof UserExerciseRecordResponseInner
     */
    quantityScale?: number;
    /**
     *
     * @type {string}
     * @memberof UserExerciseRecordResponseInner
     */
    optionSide?: string;
    /**
     *
     * @type {string}
     * @memberof UserExerciseRecordResponseInner
     */
    positionSide?: string;
    /**
     *
     * @type {string}
     * @memberof UserExerciseRecordResponseInner
     */
    quoteAsset?: string;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 UserExerciseRecordResponse
 */
interface UserExerciseRecordResponse extends Array<UserExerciseRecordResponseInner> {
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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.
 */

/**
 * AccountApi - interface
 * @interface AccountApi
 */
interface AccountApiInterface {
    /**
     * Query account funding flows.
     *
     * Weight: 1
     *
     * @summary Account Funding Flow (USER_DATA)
     * @param {AccountFundingFlowRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof AccountApiInterface
     */
    accountFundingFlow(requestParameters: AccountFundingFlowRequest): Promise<RestApiResponse<AccountFundingFlowResponse>>;
    /**
     * Get download id for option transaction history
     *
     * Request Limitation is 5 times per month, shared by > front end download page and rest api
     * The time between `startTime` and `endTime` can not be longer than 1 year
     *
     * Weight: 5
     *
     * @summary Get Download Id For Option Transaction History (USER_DATA)
     * @param {GetDownloadIdForOptionTransactionHistoryRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof AccountApiInterface
     */
    getDownloadIdForOptionTransactionHistory(requestParameters: GetDownloadIdForOptionTransactionHistoryRequest): Promise<RestApiResponse<GetDownloadIdForOptionTransactionHistoryResponse>>;
    /**
     * Get option transaction history download Link by Id
     *
     * Download link expiration: 24h
     *
     * Weight: 5
     *
     * @summary Get Option Transaction History Download Link by Id (USER_DATA)
     * @param {GetOptionTransactionHistoryDownloadLinkByIdRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof AccountApiInterface
     */
    getOptionTransactionHistoryDownloadLinkById(requestParameters: GetOptionTransactionHistoryDownloadLinkByIdRequest): Promise<RestApiResponse<GetOptionTransactionHistoryDownloadLinkByIdResponse>>;
    /**
     * Get current account information.
     *
     * Weight: 3
     *
     * @summary Option Account Information(TRADE)
     * @param {OptionAccountInformationRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof AccountApiInterface
     */
    optionAccountInformation(requestParameters?: OptionAccountInformationRequest): Promise<RestApiResponse<OptionAccountInformationResponse>>;
}
/**
 * Request parameters for accountFundingFlow operation in AccountApi.
 * @interface AccountFundingFlowRequest
 */
interface AccountFundingFlowRequest {
    /**
     * Asset type, only support USDT  as of now
     * @type {string}
     * @memberof AccountApiAccountFundingFlow
     */
    readonly currency: string;
    /**
     * Return the recordId and subsequent data, the latest data is returned by default, e.g 100000
     * @type {number}
     * @memberof AccountApiAccountFundingFlow
     */
    readonly recordId?: number;
    /**
     * Start Time, e.g 1593511200000
     * @type {number}
     * @memberof AccountApiAccountFundingFlow
     */
    readonly startTime?: number;
    /**
     * End Time, e.g 1593512200000
     * @type {number}
     * @memberof AccountApiAccountFundingFlow
     */
    readonly endTime?: number;
    /**
     * Number of result sets returned Default:100 Max:1000
     * @type {number}
     * @memberof AccountApiAccountFundingFlow
     */
    readonly limit?: number;
    /**
     *
     * @type {number}
     * @memberof AccountApiAccountFundingFlow
     */
    readonly recvWindow?: number;
}
/**
 * Request parameters for getDownloadIdForOptionTransactionHistory operation in AccountApi.
 * @interface GetDownloadIdForOptionTransactionHistoryRequest
 */
interface GetDownloadIdForOptionTransactionHistoryRequest {
    /**
     * Timestamp in ms
     * @type {number}
     * @memberof AccountApiGetDownloadIdForOptionTransactionHistory
     */
    readonly startTime: number;
    /**
     * Timestamp in ms
     * @type {number}
     * @memberof AccountApiGetDownloadIdForOptionTransactionHistory
     */
    readonly endTime: number;
    /**
     *
     * @type {number}
     * @memberof AccountApiGetDownloadIdForOptionTransactionHistory
     */
    readonly recvWindow?: number;
}
/**
 * Request parameters for getOptionTransactionHistoryDownloadLinkById operation in AccountApi.
 * @interface GetOptionTransactionHistoryDownloadLinkByIdRequest
 */
interface GetOptionTransactionHistoryDownloadLinkByIdRequest {
    /**
     * get by download id api
     * @type {string}
     * @memberof AccountApiGetOptionTransactionHistoryDownloadLinkById
     */
    readonly downloadId: string;
    /**
     *
     * @type {number}
     * @memberof AccountApiGetOptionTransactionHistoryDownloadLinkById
     */
    readonly recvWindow?: number;
}
/**
 * Request parameters for optionAccountInformation operation in AccountApi.
 * @interface OptionAccountInformationRequest
 */
interface OptionAccountInformationRequest {
    /**
     *
     * @type {number}
     * @memberof AccountApiOptionAccountInformation
     */
    readonly recvWindow?: number;
}
/**
 * AccountApi - object-oriented interface
 * @class AccountApi
 */
declare class AccountApi implements AccountApiInterface {
    private readonly configuration;
    private localVarAxiosParamCreator;
    constructor(configuration: ConfigurationRestAPI);
    /**
     * Query account funding flows.
     *
     * Weight: 1
     *
     * @summary Account Funding Flow (USER_DATA)
     * @param {AccountFundingFlowRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<AccountFundingFlowResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof AccountApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/account/Account-Funding-Flow Binance API Documentation}
     */
    accountFundingFlow(requestParameters: AccountFundingFlowRequest): Promise<RestApiResponse<AccountFundingFlowResponse>>;
    /**
     * Get download id for option transaction history
     *
     * Request Limitation is 5 times per month, shared by > front end download page and rest api
     * The time between `startTime` and `endTime` can not be longer than 1 year
     *
     * Weight: 5
     *
     * @summary Get Download Id For Option Transaction History (USER_DATA)
     * @param {GetDownloadIdForOptionTransactionHistoryRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<GetDownloadIdForOptionTransactionHistoryResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof AccountApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/account/Get-Download-Id-For-Option-Transaction-History Binance API Documentation}
     */
    getDownloadIdForOptionTransactionHistory(requestParameters: GetDownloadIdForOptionTransactionHistoryRequest): Promise<RestApiResponse<GetDownloadIdForOptionTransactionHistoryResponse>>;
    /**
     * Get option transaction history download Link by Id
     *
     * Download link expiration: 24h
     *
     * Weight: 5
     *
     * @summary Get Option Transaction History Download Link by Id (USER_DATA)
     * @param {GetOptionTransactionHistoryDownloadLinkByIdRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<GetOptionTransactionHistoryDownloadLinkByIdResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof AccountApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/account/Get-Option-Transaction-History-Download-Link-by-Id Binance API Documentation}
     */
    getOptionTransactionHistoryDownloadLinkById(requestParameters: GetOptionTransactionHistoryDownloadLinkByIdRequest): Promise<RestApiResponse<GetOptionTransactionHistoryDownloadLinkByIdResponse>>;
    /**
     * Get current account information.
     *
     * Weight: 3
     *
     * @summary Option Account Information(TRADE)
     * @param {OptionAccountInformationRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<OptionAccountInformationResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof AccountApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/account/Option-Account-Information Binance API Documentation}
     */
    optionAccountInformation(requestParameters?: OptionAccountInformationRequest): Promise<RestApiResponse<OptionAccountInformationResponse>>;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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.
 */

/**
 * MarketDataApi - interface
 * @interface MarketDataApi
 */
interface MarketDataApiInterface {
    /**
     * Test connectivity to the Rest API and get the current server time.
     *
     * Weight: 1
     *
     * @summary Check Server Time
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketDataApiInterface
     */
    checkServerTime(): Promise<RestApiResponse<CheckServerTimeResponse>>;
    /**
     * Current exchange trading rules and symbol information
     *
     * Weight: 1
     *
     * @summary Exchange Information
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketDataApiInterface
     */
    exchangeInformation(): Promise<RestApiResponse<ExchangeInformationResponse>>;
    /**
     * Get historical exercise records.
     * REALISTIC_VALUE_STRICKEN -> Exercised
     * EXTRINSIC_VALUE_EXPIRED -> Expired OTM
     *
     * Weight: 3
     *
     * @summary Historical Exercise Records
     * @param {HistoricalExerciseRecordsRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketDataApiInterface
     */
    historicalExerciseRecords(requestParameters?: HistoricalExerciseRecordsRequest): Promise<RestApiResponse<HistoricalExerciseRecordsResponse>>;
    /**
     * Kline/candlestick bars for an option symbol.
     * Klines are uniquely identified by their open time.
     *
     * If startTime and endTime are not sent, the most recent klines are returned.
     *
     * Weight: 1
     *
     * @summary Kline/Candlestick Data
     * @param {KlineCandlestickDataRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketDataApiInterface
     */
    klineCandlestickData(requestParameters: KlineCandlestickDataRequest): Promise<RestApiResponse<KlineCandlestickDataResponse>>;
    /**
     * Get older market historical trades.
     *
     * Weight: 20
     *
     * @summary Old Trades Lookup (MARKET_DATA)
     * @param {OldTradesLookupRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketDataApiInterface
     */
    oldTradesLookup(requestParameters: OldTradesLookupRequest): Promise<RestApiResponse<OldTradesLookupResponse>>;
    /**
     * Get open interest for specific underlying asset on specific expiration date.
     *
     * Weight: 0
     *
     * @summary Open Interest
     * @param {OpenInterestRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketDataApiInterface
     */
    openInterest(requestParameters: OpenInterestRequest$1): Promise<RestApiResponse<OpenInterestResponse$1>>;
    /**
     * Option mark price and greek info.
     *
     * Weight: 5
     *
     * @summary Option Mark Price
     * @param {OptionMarkPriceRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketDataApiInterface
     */
    optionMarkPrice(requestParameters?: OptionMarkPriceRequest): Promise<RestApiResponse<OptionMarkPriceResponse>>;
    /**
     * Check orderbook depth on specific symbol
     *
     * Weight: limit         | weight
     * ------------  | ------------
     * 5, 10, 20, 50 | 2
     * 100           | 5
     * 500           | 10
     * 1000          | 20
     *
     * @summary Order Book
     * @param {OrderBookRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketDataApiInterface
     */
    orderBook(requestParameters: OrderBookRequest): Promise<RestApiResponse<OrderBookResponse>>;
    /**
     * Get recent block trades
     *
     * Weight: 5
     *
     * @summary Recent Block Trades List
     * @param {RecentBlockTradesListRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketDataApiInterface
     */
    recentBlockTradesList(requestParameters?: RecentBlockTradesListRequest): Promise<RestApiResponse<RecentBlockTradesListResponse>>;
    /**
     * Get recent market trades
     *
     * Weight: 5
     *
     * @summary Recent Trades List
     * @param {RecentTradesListRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketDataApiInterface
     */
    recentTradesList(requestParameters: RecentTradesListRequest): Promise<RestApiResponse<RecentTradesListResponse>>;
    /**
     * Get spot index price for option underlying.
     *
     * Weight: 1
     *
     * @summary Symbol Price Ticker
     * @param {SymbolPriceTickerRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketDataApiInterface
     */
    symbolPriceTicker(requestParameters: SymbolPriceTickerRequest): Promise<RestApiResponse<SymbolPriceTickerResponse>>;
    /**
     * Test connectivity to the Rest API.
     *
     * Weight: 1
     *
     * @summary Test Connectivity
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketDataApiInterface
     */
    testConnectivity(): Promise<RestApiResponse<void>>;
    /**
     * 24 hour rolling window price change statistics.
     *
     * Weight: 5
     *
     * @summary 24hr Ticker Price Change Statistics
     * @param {Ticker24hrPriceChangeStatisticsRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketDataApiInterface
     */
    ticker24hrPriceChangeStatistics(requestParameters?: Ticker24hrPriceChangeStatisticsRequest): Promise<RestApiResponse<Ticker24hrPriceChangeStatisticsResponse>>;
}
/**
 * Request parameters for historicalExerciseRecords operation in MarketDataApi.
 * @interface HistoricalExerciseRecordsRequest
 */
interface HistoricalExerciseRecordsRequest {
    /**
     * underlying, e.g BTCUSDT
     * @type {string}
     * @memberof MarketDataApiHistoricalExerciseRecords
     */
    readonly underlying?: string;
    /**
     * Start Time, e.g 1593511200000
     * @type {number}
     * @memberof MarketDataApiHistoricalExerciseRecords
     */
    readonly startTime?: number;
    /**
     * End Time, e.g 1593512200000
     * @type {number}
     * @memberof MarketDataApiHistoricalExerciseRecords
     */
    readonly endTime?: number;
    /**
     * Number of result sets returned Default:100 Max:1000
     * @type {number}
     * @memberof MarketDataApiHistoricalExerciseRecords
     */
    readonly limit?: number;
}
/**
 * Request parameters for klineCandlestickData operation in MarketDataApi.
 * @interface KlineCandlestickDataRequest
 */
interface KlineCandlestickDataRequest {
    /**
     * Option trading pair, e.g BTC-200730-9000-C
     * @type {string}
     * @memberof MarketDataApiKlineCandlestickData
     */
    readonly symbol: string;
    /**
     * Time interval
     * @type {string}
     * @memberof MarketDataApiKlineCandlestickData
     */
    readonly interval: string;
    /**
     * Start Time, e.g 1593511200000
     * @type {number}
     * @memberof MarketDataApiKlineCandlestickData
     */
    readonly startTime?: number;
    /**
     * End Time, e.g 1593512200000
     * @type {number}
     * @memberof MarketDataApiKlineCandlestickData
     */
    readonly endTime?: number;
    /**
     * Number of result sets returned Default:100 Max:1000
     * @type {number}
     * @memberof MarketDataApiKlineCandlestickData
     */
    readonly limit?: number;
}
/**
 * Request parameters for oldTradesLookup operation in MarketDataApi.
 * @interface OldTradesLookupRequest
 */
interface OldTradesLookupRequest {
    /**
     * Option trading pair, e.g BTC-200730-9000-C
     * @type {string}
     * @memberof MarketDataApiOldTradesLookup
     */
    readonly symbol: string;
    /**
     * The UniqueId ID from which to return. The latest deal record is returned by default
     * @type {number}
     * @memberof MarketDataApiOldTradesLookup
     */
    readonly fromId?: number;
    /**
     * Number of result sets returned Default:100 Max:1000
     * @type {number}
     * @memberof MarketDataApiOldTradesLookup
     */
    readonly limit?: number;
}
/**
 * Request parameters for openInterest operation in MarketDataApi.
 * @interface OpenInterestRequest
 */
interface OpenInterestRequest$1 {
    /**
     * underlying asset, e.g ETH/BTC
     * @type {string}
     * @memberof MarketDataApiOpenInterest
     */
    readonly underlyingAsset: string;
    /**
     * expiration date, e.g 221225
     * @type {string}
     * @memberof MarketDataApiOpenInterest
     */
    readonly expiration: string;
}
/**
 * Request parameters for optionMarkPrice operation in MarketDataApi.
 * @interface OptionMarkPriceRequest
 */
interface OptionMarkPriceRequest {
    /**
     * Option trading pair, e.g BTC-200730-9000-C
     * @type {string}
     * @memberof MarketDataApiOptionMarkPrice
     */
    readonly symbol?: string;
}
/**
 * Request parameters for orderBook operation in MarketDataApi.
 * @interface OrderBookRequest
 */
interface OrderBookRequest {
    /**
     * Option trading pair, e.g BTC-200730-9000-C
     * @type {string}
     * @memberof MarketDataApiOrderBook
     */
    readonly symbol: string;
    /**
     * Number of result sets returned Default:100 Max:1000
     * @type {number}
     * @memberof MarketDataApiOrderBook
     */
    readonly limit?: number;
}
/**
 * Request parameters for recentBlockTradesList operation in MarketDataApi.
 * @interface RecentBlockTradesListRequest
 */
interface RecentBlockTradesListRequest {
    /**
     * Option trading pair, e.g BTC-200730-9000-C
     * @type {string}
     * @memberof MarketDataApiRecentBlockTradesList
     */
    readonly symbol?: string;
    /**
     * Number of result sets returned Default:100 Max:1000
     * @type {number}
     * @memberof MarketDataApiRecentBlockTradesList
     */
    readonly limit?: number;
}
/**
 * Request parameters for recentTradesList operation in MarketDataApi.
 * @interface RecentTradesListRequest
 */
interface RecentTradesListRequest {
    /**
     * Option trading pair, e.g BTC-200730-9000-C
     * @type {string}
     * @memberof MarketDataApiRecentTradesList
     */
    readonly symbol: string;
    /**
     * Number of result sets returned Default:100 Max:1000
     * @type {number}
     * @memberof MarketDataApiRecentTradesList
     */
    readonly limit?: number;
}
/**
 * Request parameters for symbolPriceTicker operation in MarketDataApi.
 * @interface SymbolPriceTickerRequest
 */
interface SymbolPriceTickerRequest {
    /**
     * Option underlying, e.g BTCUSDT
     * @type {string}
     * @memberof MarketDataApiSymbolPriceTicker
     */
    readonly underlying: string;
}
/**
 * Request parameters for ticker24hrPriceChangeStatistics operation in MarketDataApi.
 * @interface Ticker24hrPriceChangeStatisticsRequest
 */
interface Ticker24hrPriceChangeStatisticsRequest {
    /**
     * Option trading pair, e.g BTC-200730-9000-C
     * @type {string}
     * @memberof MarketDataApiTicker24hrPriceChangeStatistics
     */
    readonly symbol?: string;
}
/**
 * MarketDataApi - object-oriented interface
 * @class MarketDataApi
 */
declare class MarketDataApi implements MarketDataApiInterface {
    private readonly configuration;
    private localVarAxiosParamCreator;
    constructor(configuration: ConfigurationRestAPI);
    /**
     * Test connectivity to the Rest API and get the current server time.
     *
     * Weight: 1
     *
     * @summary Check Server Time
     * @returns {Promise<RestApiResponse<CheckServerTimeResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketDataApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-data/Check-Server-Time Binance API Documentation}
     */
    checkServerTime(): Promise<RestApiResponse<CheckServerTimeResponse>>;
    /**
     * Current exchange trading rules and symbol information
     *
     * Weight: 1
     *
     * @summary Exchange Information
     * @returns {Promise<RestApiResponse<ExchangeInformationResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketDataApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-data/Exchange-Information Binance API Documentation}
     */
    exchangeInformation(): Promise<RestApiResponse<ExchangeInformationResponse>>;
    /**
     * Get historical exercise records.
     * REALISTIC_VALUE_STRICKEN -> Exercised
     * EXTRINSIC_VALUE_EXPIRED -> Expired OTM
     *
     * Weight: 3
     *
     * @summary Historical Exercise Records
     * @param {HistoricalExerciseRecordsRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<HistoricalExerciseRecordsResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketDataApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-data/Historical-Exercise-Records Binance API Documentation}
     */
    historicalExerciseRecords(requestParameters?: HistoricalExerciseRecordsRequest): Promise<RestApiResponse<HistoricalExerciseRecordsResponse>>;
    /**
     * Kline/candlestick bars for an option symbol.
     * Klines are uniquely identified by their open time.
     *
     * If startTime and endTime are not sent, the most recent klines are returned.
     *
     * Weight: 1
     *
     * @summary Kline/Candlestick Data
     * @param {KlineCandlestickDataRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<KlineCandlestickDataResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketDataApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-data/Kline-Candlestick-Data Binance API Documentation}
     */
    klineCandlestickData(requestParameters: KlineCandlestickDataRequest): Promise<RestApiResponse<KlineCandlestickDataResponse>>;
    /**
     * Get older market historical trades.
     *
     * Weight: 20
     *
     * @summary Old Trades Lookup (MARKET_DATA)
     * @param {OldTradesLookupRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<OldTradesLookupResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketDataApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-data/Old-Trades-Lookup Binance API Documentation}
     */
    oldTradesLookup(requestParameters: OldTradesLookupRequest): Promise<RestApiResponse<OldTradesLookupResponse>>;
    /**
     * Get open interest for specific underlying asset on specific expiration date.
     *
     * Weight: 0
     *
     * @summary Open Interest
     * @param {OpenInterestRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<OpenInterestResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketDataApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-data/Open-Interest Binance API Documentation}
     */
    openInterest(requestParameters: OpenInterestRequest$1): Promise<RestApiResponse<OpenInterestResponse$1>>;
    /**
     * Option mark price and greek info.
     *
     * Weight: 5
     *
     * @summary Option Mark Price
     * @param {OptionMarkPriceRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<OptionMarkPriceResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketDataApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-data/Option-Mark-Price Binance API Documentation}
     */
    optionMarkPrice(requestParameters?: OptionMarkPriceRequest): Promise<RestApiResponse<OptionMarkPriceResponse>>;
    /**
     * Check orderbook depth on specific symbol
     *
     * Weight: limit         | weight
     * ------------  | ------------
     * 5, 10, 20, 50 | 2
     * 100           | 5
     * 500           | 10
     * 1000          | 20
     *
     * @summary Order Book
     * @param {OrderBookRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<OrderBookResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketDataApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-data/Order-Book Binance API Documentation}
     */
    orderBook(requestParameters: OrderBookRequest): Promise<RestApiResponse<OrderBookResponse>>;
    /**
     * Get recent block trades
     *
     * Weight: 5
     *
     * @summary Recent Block Trades List
     * @param {RecentBlockTradesListRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<RecentBlockTradesListResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketDataApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-data/Recent-Block-Trade-List Binance API Documentation}
     */
    recentBlockTradesList(requestParameters?: RecentBlockTradesListRequest): Promise<RestApiResponse<RecentBlockTradesListResponse>>;
    /**
     * Get recent market trades
     *
     * Weight: 5
     *
     * @summary Recent Trades List
     * @param {RecentTradesListRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<RecentTradesListResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketDataApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-data/Recent-Trades-List Binance API Documentation}
     */
    recentTradesList(requestParameters: RecentTradesListRequest): Promise<RestApiResponse<RecentTradesListResponse>>;
    /**
     * Get spot index price for option underlying.
     *
     * Weight: 1
     *
     * @summary Symbol Price Ticker
     * @param {SymbolPriceTickerRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<SymbolPriceTickerResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketDataApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-data/Symbol-Price-Ticker Binance API Documentation}
     */
    symbolPriceTicker(requestParameters: SymbolPriceTickerRequest): Promise<RestApiResponse<SymbolPriceTickerResponse>>;
    /**
     * Test connectivity to the Rest API.
     *
     * Weight: 1
     *
     * @summary Test Connectivity
     * @returns {Promise<RestApiResponse<void>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketDataApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-data/Test-Connectivity Binance API Documentation}
     */
    testConnectivity(): Promise<RestApiResponse<void>>;
    /**
     * 24 hour rolling window price change statistics.
     *
     * Weight: 5
     *
     * @summary 24hr Ticker Price Change Statistics
     * @param {Ticker24hrPriceChangeStatisticsRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<Ticker24hrPriceChangeStatisticsResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketDataApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-data/24hr-Ticker-Price-Change-Statistics Binance API Documentation}
     */
    ticker24hrPriceChangeStatistics(requestParameters?: Ticker24hrPriceChangeStatisticsRequest): Promise<RestApiResponse<Ticker24hrPriceChangeStatisticsResponse>>;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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.
 */

/**
 * MarketMakerBlockTradeApi - interface
 * @interface MarketMakerBlockTradeApi
 */
interface MarketMakerBlockTradeApiInterface {
    /**
     * Accept a block trade order
     *
     * Weight: 5
     *
     * @summary Accept Block Trade Order (TRADE)
     * @param {AcceptBlockTradeOrderRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketMakerBlockTradeApiInterface
     */
    acceptBlockTradeOrder(requestParameters: AcceptBlockTradeOrderRequest): Promise<RestApiResponse<AcceptBlockTradeOrderResponse>>;
    /**
     * Gets block trades for a specific account.
     *
     * Weight: 5
     *
     * @summary Account Block Trade List (USER_DATA)
     * @param {AccountBlockTradeListRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketMakerBlockTradeApiInterface
     */
    accountBlockTradeList(requestParameters?: AccountBlockTradeListRequest): Promise<RestApiResponse<AccountBlockTradeListResponse>>;
    /**
     * Cancel a block trade order.
     *
     * Weight: 5
     *
     * @summary Cancel Block Trade Order (TRADE)
     * @param {CancelBlockTradeOrderRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketMakerBlockTradeApiInterface
     */
    cancelBlockTradeOrder(requestParameters: CancelBlockTradeOrderRequest): Promise<RestApiResponse<void>>;
    /**
     * Extends a block trade expire time by 30 mins from the current time.
     *
     * Weight: 5
     *
     * @summary Extend Block Trade Order (TRADE)
     * @param {ExtendBlockTradeOrderRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketMakerBlockTradeApiInterface
     */
    extendBlockTradeOrder(requestParameters: ExtendBlockTradeOrderRequest): Promise<RestApiResponse<ExtendBlockTradeOrderResponse>>;
    /**
     * Send in a new block trade order.
     *
     * Weight: 5
     *
     * @summary New Block Trade Order (TRADE)
     * @param {NewBlockTradeOrderRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketMakerBlockTradeApiInterface
     */
    newBlockTradeOrder(requestParameters: NewBlockTradeOrderRequest): Promise<RestApiResponse<NewBlockTradeOrderResponse>>;
    /**
     * Query block trade details; returns block trade details from counterparty's perspective.
     *
     * Weight: 5
     *
     * @summary Query Block Trade Details (USER_DATA)
     * @param {QueryBlockTradeDetailsRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketMakerBlockTradeApiInterface
     */
    queryBlockTradeDetails(requestParameters: QueryBlockTradeDetailsRequest): Promise<RestApiResponse<QueryBlockTradeDetailsResponse>>;
    /**
     * Check block trade order status.
     *
     * Weight: 5
     *
     * @summary Query Block Trade Order (TRADE)
     * @param {QueryBlockTradeOrderRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketMakerBlockTradeApiInterface
     */
    queryBlockTradeOrder(requestParameters?: QueryBlockTradeOrderRequest): Promise<RestApiResponse<QueryBlockTradeOrderResponse>>;
}
/**
 * Request parameters for acceptBlockTradeOrder operation in MarketMakerBlockTradeApi.
 * @interface AcceptBlockTradeOrderRequest
 */
interface AcceptBlockTradeOrderRequest {
    /**
     *
     * @type {string}
     * @memberof MarketMakerBlockTradeApiAcceptBlockTradeOrder
     */
    readonly blockOrderMatchingKey: string;
    /**
     *
     * @type {number}
     * @memberof MarketMakerBlockTradeApiAcceptBlockTradeOrder
     */
    readonly recvWindow?: number;
}
/**
 * Request parameters for accountBlockTradeList operation in MarketMakerBlockTradeApi.
 * @interface AccountBlockTradeListRequest
 */
interface AccountBlockTradeListRequest {
    /**
     * End Time, e.g 1593512200000
     * @type {number}
     * @memberof MarketMakerBlockTradeApiAccountBlockTradeList
     */
    readonly endTime?: number;
    /**
     * Start Time, e.g 1593511200000
     * @type {number}
     * @memberof MarketMakerBlockTradeApiAccountBlockTradeList
     */
    readonly startTime?: number;
    /**
     * underlying, e.g BTCUSDT
     * @type {string}
     * @memberof MarketMakerBlockTradeApiAccountBlockTradeList
     */
    readonly underlying?: string;
    /**
     *
     * @type {number}
     * @memberof MarketMakerBlockTradeApiAccountBlockTradeList
     */
    readonly recvWindow?: number;
}
/**
 * Request parameters for cancelBlockTradeOrder operation in MarketMakerBlockTradeApi.
 * @interface CancelBlockTradeOrderRequest
 */
interface CancelBlockTradeOrderRequest {
    /**
     *
     * @type {string}
     * @memberof MarketMakerBlockTradeApiCancelBlockTradeOrder
     */
    readonly blockOrderMatchingKey: string;
    /**
     *
     * @type {number}
     * @memberof MarketMakerBlockTradeApiCancelBlockTradeOrder
     */
    readonly recvWindow?: number;
}
/**
 * Request parameters for extendBlockTradeOrder operation in MarketMakerBlockTradeApi.
 * @interface ExtendBlockTradeOrderRequest
 */
interface ExtendBlockTradeOrderRequest {
    /**
     *
     * @type {string}
     * @memberof MarketMakerBlockTradeApiExtendBlockTradeOrder
     */
    readonly blockOrderMatchingKey: string;
    /**
     *
     * @type {number}
     * @memberof MarketMakerBlockTradeApiExtendBlockTradeOrder
     */
    readonly recvWindow?: number;
}
/**
 * Request parameters for newBlockTradeOrder operation in MarketMakerBlockTradeApi.
 * @interface NewBlockTradeOrderRequest
 */
interface NewBlockTradeOrderRequest {
    /**
     * Taker or Maker
     * @type {string}
     * @memberof MarketMakerBlockTradeApiNewBlockTradeOrder
     */
    readonly liquidity: string;
    /**
     * Max 1 (only single leg supported), list of legs parameters in JSON; example: eapi/v1/block/order/create?orders=[{"symbol":"BTC-210115-35000-C", "price":"100","quantity":"0.0002","side":"BUY","type":"LIMIT"}]
     * @type {Array<object>}
     * @memberof MarketMakerBlockTradeApiNewBlockTradeOrder
     */
    readonly legs: Array<object>;
    /**
     * Option trading pair, e.g BTC-200730-9000-C
     * @type {string}
     * @memberof MarketMakerBlockTradeApiNewBlockTradeOrder
     */
    readonly symbol: string;
    /**
     * BUY or SELL
     * @type {'BUY' | 'SELL'}
     * @memberof MarketMakerBlockTradeApiNewBlockTradeOrder
     */
    readonly side: NewBlockTradeOrderSideEnum;
    /**
     * Order Price
     * @type {number}
     * @memberof MarketMakerBlockTradeApiNewBlockTradeOrder
     */
    readonly price: number;
    /**
     * Order Quantity
     * @type {number}
     * @memberof MarketMakerBlockTradeApiNewBlockTradeOrder
     */
    readonly quantity: number;
    /**
     *
     * @type {number}
     * @memberof MarketMakerBlockTradeApiNewBlockTradeOrder
     */
    readonly recvWindow?: number;
}
/**
 * Request parameters for queryBlockTradeDetails operation in MarketMakerBlockTradeApi.
 * @interface QueryBlockTradeDetailsRequest
 */
interface QueryBlockTradeDetailsRequest {
    /**
     *
     * @type {string}
     * @memberof MarketMakerBlockTradeApiQueryBlockTradeDetails
     */
    readonly blockOrderMatchingKey: string;
    /**
     *
     * @type {number}
     * @memberof MarketMakerBlockTradeApiQueryBlockTradeDetails
     */
    readonly recvWindow?: number;
}
/**
 * Request parameters for queryBlockTradeOrder operation in MarketMakerBlockTradeApi.
 * @interface QueryBlockTradeOrderRequest
 */
interface QueryBlockTradeOrderRequest {
    /**
     * If specified, returns the specific block trade associated with the blockOrderMatchingKey
     * @type {string}
     * @memberof MarketMakerBlockTradeApiQueryBlockTradeOrder
     */
    readonly blockOrderMatchingKey?: string;
    /**
     * End Time, e.g 1593512200000
     * @type {number}
     * @memberof MarketMakerBlockTradeApiQueryBlockTradeOrder
     */
    readonly endTime?: number;
    /**
     * Start Time, e.g 1593511200000
     * @type {number}
     * @memberof MarketMakerBlockTradeApiQueryBlockTradeOrder
     */
    readonly startTime?: number;
    /**
     * underlying, e.g BTCUSDT
     * @type {string}
     * @memberof MarketMakerBlockTradeApiQueryBlockTradeOrder
     */
    readonly underlying?: string;
    /**
     *
     * @type {number}
     * @memberof MarketMakerBlockTradeApiQueryBlockTradeOrder
     */
    readonly recvWindow?: number;
}
/**
 * MarketMakerBlockTradeApi - object-oriented interface
 * @class MarketMakerBlockTradeApi
 */
declare class MarketMakerBlockTradeApi implements MarketMakerBlockTradeApiInterface {
    private readonly configuration;
    private localVarAxiosParamCreator;
    constructor(configuration: ConfigurationRestAPI);
    /**
     * Accept a block trade order
     *
     * Weight: 5
     *
     * @summary Accept Block Trade Order (TRADE)
     * @param {AcceptBlockTradeOrderRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<AcceptBlockTradeOrderResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketMakerBlockTradeApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-maker-block-trade/Accept-Block-Trade-Order Binance API Documentation}
     */
    acceptBlockTradeOrder(requestParameters: AcceptBlockTradeOrderRequest): Promise<RestApiResponse<AcceptBlockTradeOrderResponse>>;
    /**
     * Gets block trades for a specific account.
     *
     * Weight: 5
     *
     * @summary Account Block Trade List (USER_DATA)
     * @param {AccountBlockTradeListRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<AccountBlockTradeListResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketMakerBlockTradeApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-maker-block-trade/Account-Block-Trade-List Binance API Documentation}
     */
    accountBlockTradeList(requestParameters?: AccountBlockTradeListRequest): Promise<RestApiResponse<AccountBlockTradeListResponse>>;
    /**
     * Cancel a block trade order.
     *
     * Weight: 5
     *
     * @summary Cancel Block Trade Order (TRADE)
     * @param {CancelBlockTradeOrderRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<void>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketMakerBlockTradeApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-maker-block-trade/Cancel-Block-Trade-Order Binance API Documentation}
     */
    cancelBlockTradeOrder(requestParameters: CancelBlockTradeOrderRequest): Promise<RestApiResponse<void>>;
    /**
     * Extends a block trade expire time by 30 mins from the current time.
     *
     * Weight: 5
     *
     * @summary Extend Block Trade Order (TRADE)
     * @param {ExtendBlockTradeOrderRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<ExtendBlockTradeOrderResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketMakerBlockTradeApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-maker-block-trade/Extend-Block-Trade-Order Binance API Documentation}
     */
    extendBlockTradeOrder(requestParameters: ExtendBlockTradeOrderRequest): Promise<RestApiResponse<ExtendBlockTradeOrderResponse>>;
    /**
     * Send in a new block trade order.
     *
     * Weight: 5
     *
     * @summary New Block Trade Order (TRADE)
     * @param {NewBlockTradeOrderRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<NewBlockTradeOrderResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketMakerBlockTradeApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-maker-block-trade/New-Block-Trade-Order Binance API Documentation}
     */
    newBlockTradeOrder(requestParameters: NewBlockTradeOrderRequest): Promise<RestApiResponse<NewBlockTradeOrderResponse>>;
    /**
     * Query block trade details; returns block trade details from counterparty's perspective.
     *
     * Weight: 5
     *
     * @summary Query Block Trade Details (USER_DATA)
     * @param {QueryBlockTradeDetailsRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<QueryBlockTradeDetailsResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketMakerBlockTradeApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-maker-block-trade/Query-Block-Trade-Detail Binance API Documentation}
     */
    queryBlockTradeDetails(requestParameters: QueryBlockTradeDetailsRequest): Promise<RestApiResponse<QueryBlockTradeDetailsResponse>>;
    /**
     * Check block trade order status.
     *
     * Weight: 5
     *
     * @summary Query Block Trade Order (TRADE)
     * @param {QueryBlockTradeOrderRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<QueryBlockTradeOrderResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketMakerBlockTradeApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-maker-block-trade/Query-Block-Trade-Order Binance API Documentation}
     */
    queryBlockTradeOrder(requestParameters?: QueryBlockTradeOrderRequest): Promise<RestApiResponse<QueryBlockTradeOrderResponse>>;
}
declare const NewBlockTradeOrderSideEnum: {
    readonly BUY: "BUY";
    readonly SELL: "SELL";
};
type NewBlockTradeOrderSideEnum = (typeof NewBlockTradeOrderSideEnum)[keyof typeof NewBlockTradeOrderSideEnum];

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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.
 */

/**
 * MarketMakerEndpointsApi - interface
 * @interface MarketMakerEndpointsApi
 */
interface MarketMakerEndpointsApiInterface {
    /**
     * This endpoint resets the time from which the countdown will begin to the time this messaged is received.  It should be called repeatedly as heartbeats.  Multiple heartbeats can be updated at once by specifying the underlying symbols as a list (ex. BTCUSDT,ETHUSDT) in the underlyings parameter.
     *
     * The response will only include underlying symbols where the heartbeat has been successfully updated.
     *
     * Weight: 10
     *
     * @summary Auto-Cancel All Open Orders (Kill-Switch) Heartbeat (TRADE)
     * @param {AutoCancelAllOpenOrdersRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketMakerEndpointsApiInterface
     */
    autoCancelAllOpenOrders(requestParameters: AutoCancelAllOpenOrdersRequest): Promise<RestApiResponse<AutoCancelAllOpenOrdersResponse>>;
    /**
     * This endpoint returns the auto-cancel parameters for each underlying symbol. Note only active auto-cancel parameters will be returned, if countdownTime is set to 0 (ie. countdownTime has been turned off), the underlying symbol and corresponding countdownTime parameter will not be returned in the response.
     *
     * countdownTime = 0 means the function is disabled.
     *
     * Weight: 1
     *
     * @summary Get Auto-Cancel All Open Orders (Kill-Switch) Config (TRADE)
     * @param {GetAutoCancelAllOpenOrdersRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketMakerEndpointsApiInterface
     */
    getAutoCancelAllOpenOrders(requestParameters?: GetAutoCancelAllOpenOrdersRequest): Promise<RestApiResponse<GetAutoCancelAllOpenOrdersResponse>>;
    /**
     * Get config for MMP.
     *
     * Weight: 1
     *
     * @summary Get Market Maker Protection Config (TRADE)
     * @param {GetMarketMakerProtectionConfigRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketMakerEndpointsApiInterface
     */
    getMarketMakerProtectionConfig(requestParameters?: GetMarketMakerProtectionConfigRequest): Promise<RestApiResponse<GetMarketMakerProtectionConfigResponse>>;
    /**
     * Get current account information.
     *
     * Weight: 3
     *
     * @summary Option Margin Account Information (USER_DATA)
     * @param {OptionMarginAccountInformationRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketMakerEndpointsApiInterface
     */
    optionMarginAccountInformation(requestParameters?: OptionMarginAccountInformationRequest): Promise<RestApiResponse<OptionMarginAccountInformationResponse>>;
    /**
     * Reset MMP, start MMP order again.
     *
     * Weight: 1
     *
     * @summary Reset Market Maker Protection Config (TRADE)
     * @param {ResetMarketMakerProtectionConfigRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketMakerEndpointsApiInterface
     */
    resetMarketMakerProtectionConfig(requestParameters?: ResetMarketMakerProtectionConfigRequest): Promise<RestApiResponse<ResetMarketMakerProtectionConfigResponse>>;
    /**
     * This endpoint sets the parameters of the auto-cancel feature which cancels all open orders (both market maker protection and non market maker protection order types) of the underlying symbol at the end of the specified countdown time period if no heartbeat message is sent.  After the countdown time period, all open orders will be cancelled and new orders will be rejected with error code -2010 until either a heartbeat message is sent or the auto-cancel feature is turned off by setting countdownTime to 0.
     *
     *
     * This rest endpoint sets up the parameters to cancel your open orders in case of an outage or disconnection.
     * Example usage:
     * Call this endpoint with a countdownTime value of 10000 (10 seconds) to turn on the auto-cancel feature. If the corresponding countdownCancelAllHeartBeat endpoint is not called within 10 seconds with the specified underlying symbol, all open orders of the specified symbol will be automatically canceled. If this endpoint is called with an countdownTime of 0, the countdown timer will be stopped.
     * The system will check all countdowns approximately every 1000 milliseconds, **please note that sufficient redundancy should be considered when using this function**. We do not recommend setting the countdown time to be too precise or too small.
     *
     * Weight: 1
     *
     * @summary Set Auto-Cancel All Open Orders (Kill-Switch) Config (TRADE)
     * @param {SetAutoCancelAllOpenOrdersRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketMakerEndpointsApiInterface
     */
    setAutoCancelAllOpenOrders(requestParameters: SetAutoCancelAllOpenOrdersRequest): Promise<RestApiResponse<SetAutoCancelAllOpenOrdersResponse>>;
    /**
     * Set config for MMP.
     * Market Maker Protection(MMP) is a set of protection mechanism for option market maker, this mechanism is able to prevent mass trading in short period time. Once market maker's account branches the threshold, the Market Maker Protection will be triggered. When Market Maker Protection triggers, all the current MMP orders will be canceled, new MMP orders will be rejected. Market maker can use this time to reevaluate market and modify order price.
     *
     * Weight: 1
     *
     * @summary Set Market Maker Protection Config (TRADE)
     * @param {SetMarketMakerProtectionConfigRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketMakerEndpointsApiInterface
     */
    setMarketMakerProtectionConfig(requestParameters?: SetMarketMakerProtectionConfigRequest): Promise<RestApiResponse<SetMarketMakerProtectionConfigResponse>>;
}
/**
 * Request parameters for autoCancelAllOpenOrders operation in MarketMakerEndpointsApi.
 * @interface AutoCancelAllOpenOrdersRequest
 */
interface AutoCancelAllOpenOrdersRequest {
    /**
     * Option Underlying Symbols, e.g BTCUSDT,ETHUSDT
     * @type {string}
     * @memberof MarketMakerEndpointsApiAutoCancelAllOpenOrders
     */
    readonly underlyings: string;
    /**
     *
     * @type {number}
     * @memberof MarketMakerEndpointsApiAutoCancelAllOpenOrders
     */
    readonly recvWindow?: number;
}
/**
 * Request parameters for getAutoCancelAllOpenOrders operation in MarketMakerEndpointsApi.
 * @interface GetAutoCancelAllOpenOrdersRequest
 */
interface GetAutoCancelAllOpenOrdersRequest {
    /**
     * underlying, e.g BTCUSDT
     * @type {string}
     * @memberof MarketMakerEndpointsApiGetAutoCancelAllOpenOrders
     */
    readonly underlying?: string;
    /**
     *
     * @type {number}
     * @memberof MarketMakerEndpointsApiGetAutoCancelAllOpenOrders
     */
    readonly recvWindow?: number;
}
/**
 * Request parameters for getMarketMakerProtectionConfig operation in MarketMakerEndpointsApi.
 * @interface GetMarketMakerProtectionConfigRequest
 */
interface GetMarketMakerProtectionConfigRequest {
    /**
     * underlying, e.g BTCUSDT
     * @type {string}
     * @memberof MarketMakerEndpointsApiGetMarketMakerProtectionConfig
     */
    readonly underlying?: string;
    /**
     *
     * @type {number}
     * @memberof MarketMakerEndpointsApiGetMarketMakerProtectionConfig
     */
    readonly recvWindow?: number;
}
/**
 * Request parameters for optionMarginAccountInformation operation in MarketMakerEndpointsApi.
 * @interface OptionMarginAccountInformationRequest
 */
interface OptionMarginAccountInformationRequest {
    /**
     *
     * @type {number}
     * @memberof MarketMakerEndpointsApiOptionMarginAccountInformation
     */
    readonly recvWindow?: number;
}
/**
 * Request parameters for resetMarketMakerProtectionConfig operation in MarketMakerEndpointsApi.
 * @interface ResetMarketMakerProtectionConfigRequest
 */
interface ResetMarketMakerProtectionConfigRequest {
    /**
     * underlying, e.g BTCUSDT
     * @type {string}
     * @memberof MarketMakerEndpointsApiResetMarketMakerProtectionConfig
     */
    readonly underlying?: string;
    /**
     *
     * @type {number}
     * @memberof MarketMakerEndpointsApiResetMarketMakerProtectionConfig
     */
    readonly recvWindow?: number;
}
/**
 * Request parameters for setAutoCancelAllOpenOrders operation in MarketMakerEndpointsApi.
 * @interface SetAutoCancelAllOpenOrdersRequest
 */
interface SetAutoCancelAllOpenOrdersRequest {
    /**
     * Option underlying, e.g BTCUSDT
     * @type {string}
     * @memberof MarketMakerEndpointsApiSetAutoCancelAllOpenOrders
     */
    readonly underlying: string;
    /**
     * Countdown time in milliseconds (ex. 1,000 for 1 second). 0 to disable the timer. Negative values (ex. -10000) are not accepted. Minimum acceptable value is 5,000
     * @type {number}
     * @memberof MarketMakerEndpointsApiSetAutoCancelAllOpenOrders
     */
    readonly countdownTime: number;
    /**
     *
     * @type {number}
     * @memberof MarketMakerEndpointsApiSetAutoCancelAllOpenOrders
     */
    readonly recvWindow?: number;
}
/**
 * Request parameters for setMarketMakerProtectionConfig operation in MarketMakerEndpointsApi.
 * @interface SetMarketMakerProtectionConfigRequest
 */
interface SetMarketMakerProtectionConfigRequest {
    /**
     * underlying, e.g BTCUSDT
     * @type {string}
     * @memberof MarketMakerEndpointsApiSetMarketMakerProtectionConfig
     */
    readonly underlying?: string;
    /**
     * MMP Interval in milliseconds; Range (0,5000]
     * @type {number}
     * @memberof MarketMakerEndpointsApiSetMarketMakerProtectionConfig
     */
    readonly windowTimeInMilliseconds?: number;
    /**
     * MMP frozen time in milliseconds, if set to 0 manual reset is required
     * @type {number}
     * @memberof MarketMakerEndpointsApiSetMarketMakerProtectionConfig
     */
    readonly frozenTimeInMilliseconds?: number;
    /**
     * quantity limit
     * @type {number}
     * @memberof MarketMakerEndpointsApiSetMarketMakerProtectionConfig
     */
    readonly qtyLimit?: number;
    /**
     * net delta limit
     * @type {number}
     * @memberof MarketMakerEndpointsApiSetMarketMakerProtectionConfig
     */
    readonly deltaLimit?: number;
    /**
     *
     * @type {number}
     * @memberof MarketMakerEndpointsApiSetMarketMakerProtectionConfig
     */
    readonly recvWindow?: number;
}
/**
 * MarketMakerEndpointsApi - object-oriented interface
 * @class MarketMakerEndpointsApi
 */
declare class MarketMakerEndpointsApi implements MarketMakerEndpointsApiInterface {
    private readonly configuration;
    private localVarAxiosParamCreator;
    constructor(configuration: ConfigurationRestAPI);
    /**
     * This endpoint resets the time from which the countdown will begin to the time this messaged is received.  It should be called repeatedly as heartbeats.  Multiple heartbeats can be updated at once by specifying the underlying symbols as a list (ex. BTCUSDT,ETHUSDT) in the underlyings parameter.
     *
     * The response will only include underlying symbols where the heartbeat has been successfully updated.
     *
     * Weight: 10
     *
     * @summary Auto-Cancel All Open Orders (Kill-Switch) Heartbeat (TRADE)
     * @param {AutoCancelAllOpenOrdersRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<AutoCancelAllOpenOrdersResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketMakerEndpointsApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-maker-endpoints/Auto-Cancel-All-Open-Orders-Heartbeat Binance API Documentation}
     */
    autoCancelAllOpenOrders(requestParameters: AutoCancelAllOpenOrdersRequest): Promise<RestApiResponse<AutoCancelAllOpenOrdersResponse>>;
    /**
     * This endpoint returns the auto-cancel parameters for each underlying symbol. Note only active auto-cancel parameters will be returned, if countdownTime is set to 0 (ie. countdownTime has been turned off), the underlying symbol and corresponding countdownTime parameter will not be returned in the response.
     *
     * countdownTime = 0 means the function is disabled.
     *
     * Weight: 1
     *
     * @summary Get Auto-Cancel All Open Orders (Kill-Switch) Config (TRADE)
     * @param {GetAutoCancelAllOpenOrdersRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<GetAutoCancelAllOpenOrdersResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketMakerEndpointsApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-maker-endpoints/Get-Auto-Cancel-All-Open-Orders-Config Binance API Documentation}
     */
    getAutoCancelAllOpenOrders(requestParameters?: GetAutoCancelAllOpenOrdersRequest): Promise<RestApiResponse<GetAutoCancelAllOpenOrdersResponse>>;
    /**
     * Get config for MMP.
     *
     * Weight: 1
     *
     * @summary Get Market Maker Protection Config (TRADE)
     * @param {GetMarketMakerProtectionConfigRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<GetMarketMakerProtectionConfigResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketMakerEndpointsApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-maker-endpoints/Get-Market-Maker-Protection-Config Binance API Documentation}
     */
    getMarketMakerProtectionConfig(requestParameters?: GetMarketMakerProtectionConfigRequest): Promise<RestApiResponse<GetMarketMakerProtectionConfigResponse>>;
    /**
     * Get current account information.
     *
     * Weight: 3
     *
     * @summary Option Margin Account Information (USER_DATA)
     * @param {OptionMarginAccountInformationRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<OptionMarginAccountInformationResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketMakerEndpointsApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-maker-endpoints/Option-Margin-Account-Information Binance API Documentation}
     */
    optionMarginAccountInformation(requestParameters?: OptionMarginAccountInformationRequest): Promise<RestApiResponse<OptionMarginAccountInformationResponse>>;
    /**
     * Reset MMP, start MMP order again.
     *
     * Weight: 1
     *
     * @summary Reset Market Maker Protection Config (TRADE)
     * @param {ResetMarketMakerProtectionConfigRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<ResetMarketMakerProtectionConfigResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketMakerEndpointsApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-maker-endpoints/Reset-Market-Maker-Protection-Config Binance API Documentation}
     */
    resetMarketMakerProtectionConfig(requestParameters?: ResetMarketMakerProtectionConfigRequest): Promise<RestApiResponse<ResetMarketMakerProtectionConfigResponse>>;
    /**
     * This endpoint sets the parameters of the auto-cancel feature which cancels all open orders (both market maker protection and non market maker protection order types) of the underlying symbol at the end of the specified countdown time period if no heartbeat message is sent.  After the countdown time period, all open orders will be cancelled and new orders will be rejected with error code -2010 until either a heartbeat message is sent or the auto-cancel feature is turned off by setting countdownTime to 0.
     *
     *
     * This rest endpoint sets up the parameters to cancel your open orders in case of an outage or disconnection.
     * Example usage:
     * Call this endpoint with a countdownTime value of 10000 (10 seconds) to turn on the auto-cancel feature. If the corresponding countdownCancelAllHeartBeat endpoint is not called within 10 seconds with the specified underlying symbol, all open orders of the specified symbol will be automatically canceled. If this endpoint is called with an countdownTime of 0, the countdown timer will be stopped.
     * The system will check all countdowns approximately every 1000 milliseconds, **please note that sufficient redundancy should be considered when using this function**. We do not recommend setting the countdown time to be too precise or too small.
     *
     * Weight: 1
     *
     * @summary Set Auto-Cancel All Open Orders (Kill-Switch) Config (TRADE)
     * @param {SetAutoCancelAllOpenOrdersRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<SetAutoCancelAllOpenOrdersResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketMakerEndpointsApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-maker-endpoints/Set-Auto-Cancel-All-Open-Orders-Config Binance API Documentation}
     */
    setAutoCancelAllOpenOrders(requestParameters: SetAutoCancelAllOpenOrdersRequest): Promise<RestApiResponse<SetAutoCancelAllOpenOrdersResponse>>;
    /**
     * Set config for MMP.
     * Market Maker Protection(MMP) is a set of protection mechanism for option market maker, this mechanism is able to prevent mass trading in short period time. Once market maker's account branches the threshold, the Market Maker Protection will be triggered. When Market Maker Protection triggers, all the current MMP orders will be canceled, new MMP orders will be rejected. Market maker can use this time to reevaluate market and modify order price.
     *
     * Weight: 1
     *
     * @summary Set Market Maker Protection Config (TRADE)
     * @param {SetMarketMakerProtectionConfigRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<SetMarketMakerProtectionConfigResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof MarketMakerEndpointsApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-maker-endpoints/Set-Market-Maker-Protection-Config Binance API Documentation}
     */
    setMarketMakerProtectionConfig(requestParameters?: SetMarketMakerProtectionConfigRequest): Promise<RestApiResponse<SetMarketMakerProtectionConfigResponse>>;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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.
 */

/**
 * TradeApi - interface
 * @interface TradeApi
 */
interface TradeApiInterface {
    /**
     * Get trades for a specific account and symbol.
     *
     * Weight: 5
     *
     * @summary Account Trade List (USER_DATA)
     * @param {AccountTradeListRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof TradeApiInterface
     */
    accountTradeList(requestParameters?: AccountTradeListRequest): Promise<RestApiResponse<AccountTradeListResponse>>;
    /**
     * Cancel all active orders on specified underlying.
     *
     * Weight: 1
     *
     * @summary Cancel All Option Orders By Underlying (TRADE)
     * @param {CancelAllOptionOrdersByUnderlyingRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof TradeApiInterface
     */
    cancelAllOptionOrdersByUnderlying(requestParameters: CancelAllOptionOrdersByUnderlyingRequest): Promise<RestApiResponse<CancelAllOptionOrdersByUnderlyingResponse>>;
    /**
     * Cancel all active order on a symbol.
     *
     * Weight: 1
     *
     * @summary Cancel all Option orders on specific symbol (TRADE)
     * @param {CancelAllOptionOrdersOnSpecificSymbolRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof TradeApiInterface
     */
    cancelAllOptionOrdersOnSpecificSymbol(requestParameters: CancelAllOptionOrdersOnSpecificSymbolRequest): Promise<RestApiResponse<CancelAllOptionOrdersOnSpecificSymbolResponse>>;
    /**
     * Cancel multiple orders.
     *
     * At least one instance of `orderId` and `clientOrderId` must be sent.
     *
     * Weight: 1
     *
     * @summary Cancel Multiple Option Orders (TRADE)
     * @param {CancelMultipleOptionOrdersRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof TradeApiInterface
     */
    cancelMultipleOptionOrders(requestParameters: CancelMultipleOptionOrdersRequest): Promise<RestApiResponse<CancelMultipleOptionOrdersResponse>>;
    /**
     * Cancel an active order.
     *
     * At least one instance of `orderId` and `clientOrderId` must be sent.
     *
     * Weight: 1
     *
     * @summary Cancel Option Order (TRADE)
     * @param {CancelOptionOrderRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof TradeApiInterface
     */
    cancelOptionOrder(requestParameters: CancelOptionOrderRequest): Promise<RestApiResponse<CancelOptionOrderResponse>>;
    /**
     * Send a new order.
     *
     * Weight: 0
     *
     * @summary New Order (TRADE)
     * @param {NewOrderRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof TradeApiInterface
     */
    newOrder(requestParameters: NewOrderRequest): Promise<RestApiResponse<NewOrderResponse>>;
    /**
     * Get current position information.
     *
     * Weight: 5
     *
     * @summary Option Position Information (USER_DATA)
     * @param {OptionPositionInformationRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof TradeApiInterface
     */
    optionPositionInformation(requestParameters?: OptionPositionInformationRequest): Promise<RestApiResponse<OptionPositionInformationResponse>>;
    /**
     * Send multiple option orders.
     *
     * Parameter rules are same with New Order
     * Batch orders are processed concurrently, and the order of matching is not guaranteed.
     *
     * Weight: 5
     *
     * @summary Place Multiple Orders(TRADE)
     * @param {PlaceMultipleOrdersRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof TradeApiInterface
     */
    placeMultipleOrders(requestParameters: PlaceMultipleOrdersRequest): Promise<RestApiResponse<PlaceMultipleOrdersResponse>>;
    /**
     * Query current all open orders, status: ACCEPTED PARTIALLY_FILLED
     *
     * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted
     *
     * @summary Query Current Open Option Orders (USER_DATA)
     * @param {QueryCurrentOpenOptionOrdersRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof TradeApiInterface
     */
    queryCurrentOpenOptionOrders(requestParameters?: QueryCurrentOpenOptionOrdersRequest): Promise<RestApiResponse<QueryCurrentOpenOptionOrdersResponse>>;
    /**
     * Query all finished orders within 5 days, finished status: CANCELLED FILLED REJECTED.
     *
     * Weight: 3
     *
     * @summary Query Option Order History (TRADE)
     * @param {QueryOptionOrderHistoryRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof TradeApiInterface
     */
    queryOptionOrderHistory(requestParameters: QueryOptionOrderHistoryRequest): Promise<RestApiResponse<QueryOptionOrderHistoryResponse>>;
    /**
     * Check an order status.
     *
     * These orders will not be found:
     * order status is `CANCELED` or `REJECTED`, **AND**
     * order has NO filled trade, **AND**
     * created time + 3 days < current time
     *
     *
     * Either `orderId` or `clientOrderId ` must be sent.
     *
     * Weight: 1
     *
     * @summary Query Single Order (TRADE)
     * @param {QuerySingleOrderRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof TradeApiInterface
     */
    querySingleOrder(requestParameters: QuerySingleOrderRequest): Promise<RestApiResponse<QuerySingleOrderResponse>>;
    /**
     * Get account exercise records.
     *
     * Weight: 5
     *
     * @summary User Exercise Record (USER_DATA)
     * @param {UserExerciseRecordRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof TradeApiInterface
     */
    userExerciseRecord(requestParameters?: UserExerciseRecordRequest): Promise<RestApiResponse<UserExerciseRecordResponse>>;
}
/**
 * Request parameters for accountTradeList operation in TradeApi.
 * @interface AccountTradeListRequest
 */
interface AccountTradeListRequest {
    /**
     * Option trading pair, e.g BTC-200730-9000-C
     * @type {string}
     * @memberof TradeApiAccountTradeList
     */
    readonly symbol?: string;
    /**
     * The UniqueId ID from which to return. The latest deal record is returned by default
     * @type {number}
     * @memberof TradeApiAccountTradeList
     */
    readonly fromId?: number;
    /**
     * Start Time, e.g 1593511200000
     * @type {number}
     * @memberof TradeApiAccountTradeList
     */
    readonly startTime?: number;
    /**
     * End Time, e.g 1593512200000
     * @type {number}
     * @memberof TradeApiAccountTradeList
     */
    readonly endTime?: number;
    /**
     * Number of result sets returned Default:100 Max:1000
     * @type {number}
     * @memberof TradeApiAccountTradeList
     */
    readonly limit?: number;
    /**
     *
     * @type {number}
     * @memberof TradeApiAccountTradeList
     */
    readonly recvWindow?: number;
}
/**
 * Request parameters for cancelAllOptionOrdersByUnderlying operation in TradeApi.
 * @interface CancelAllOptionOrdersByUnderlyingRequest
 */
interface CancelAllOptionOrdersByUnderlyingRequest {
    /**
     * Option underlying, e.g BTCUSDT
     * @type {string}
     * @memberof TradeApiCancelAllOptionOrdersByUnderlying
     */
    readonly underlying: string;
    /**
     *
     * @type {number}
     * @memberof TradeApiCancelAllOptionOrdersByUnderlying
     */
    readonly recvWindow?: number;
}
/**
 * Request parameters for cancelAllOptionOrdersOnSpecificSymbol operation in TradeApi.
 * @interface CancelAllOptionOrdersOnSpecificSymbolRequest
 */
interface CancelAllOptionOrdersOnSpecificSymbolRequest {
    /**
     * Option trading pair, e.g BTC-200730-9000-C
     * @type {string}
     * @memberof TradeApiCancelAllOptionOrdersOnSpecificSymbol
     */
    readonly symbol: string;
    /**
     *
     * @type {number}
     * @memberof TradeApiCancelAllOptionOrdersOnSpecificSymbol
     */
    readonly recvWindow?: number;
}
/**
 * Request parameters for cancelMultipleOptionOrders operation in TradeApi.
 * @interface CancelMultipleOptionOrdersRequest
 */
interface CancelMultipleOptionOrdersRequest {
    /**
     * Option trading pair, e.g BTC-200730-9000-C
     * @type {string}
     * @memberof TradeApiCancelMultipleOptionOrders
     */
    readonly symbol: string;
    /**
     * Order ID, e.g [4611875134427365377,4611875134427365378]
     * @type {Array<number>}
     * @memberof TradeApiCancelMultipleOptionOrders
     */
    readonly orderIds?: Array<number>;
    /**
     * User-defined order ID, e.g ["my_id_1","my_id_2"]
     * @type {Array<string>}
     * @memberof TradeApiCancelMultipleOptionOrders
     */
    readonly clientOrderIds?: Array<string>;
    /**
     *
     * @type {number}
     * @memberof TradeApiCancelMultipleOptionOrders
     */
    readonly recvWindow?: number;
}
/**
 * Request parameters for cancelOptionOrder operation in TradeApi.
 * @interface CancelOptionOrderRequest
 */
interface CancelOptionOrderRequest {
    /**
     * Option trading pair, e.g BTC-200730-9000-C
     * @type {string}
     * @memberof TradeApiCancelOptionOrder
     */
    readonly symbol: string;
    /**
     * Order ID, e.g 4611875134427365377
     * @type {number}
     * @memberof TradeApiCancelOptionOrder
     */
    readonly orderId?: number;
    /**
     * User-defined order ID, e.g 10000
     * @type {string}
     * @memberof TradeApiCancelOptionOrder
     */
    readonly clientOrderId?: string;
    /**
     *
     * @type {number}
     * @memberof TradeApiCancelOptionOrder
     */
    readonly recvWindow?: number;
}
/**
 * Request parameters for newOrder operation in TradeApi.
 * @interface NewOrderRequest
 */
interface NewOrderRequest {
    /**
     * Option trading pair, e.g BTC-200730-9000-C
     * @type {string}
     * @memberof TradeApiNewOrder
     */
    readonly symbol: string;
    /**
     * BUY or SELL
     * @type {'BUY' | 'SELL'}
     * @memberof TradeApiNewOrder
     */
    readonly side: NewOrderSideEnum;
    /**
     * Order Type: LIMIT(only support limit)
     * @type {'LIMIT'}
     * @memberof TradeApiNewOrder
     */
    readonly type: NewOrderTypeEnum;
    /**
     * Order Quantity
     * @type {number}
     * @memberof TradeApiNewOrder
     */
    readonly quantity: number;
    /**
     * Order Price
     * @type {number}
     * @memberof TradeApiNewOrder
     */
    readonly price?: number;
    /**
     * Time in force method（Default GTC）
     * @type {'GTC' | 'IOC' | 'FOK'}
     * @memberof TradeApiNewOrder
     */
    readonly timeInForce?: NewOrderTimeInForceEnum;
    /**
     * Reduce Only（Default false）
     * @type {boolean}
     * @memberof TradeApiNewOrder
     */
    readonly reduceOnly?: boolean;
    /**
     * Post Only（Default false）
     * @type {boolean}
     * @memberof TradeApiNewOrder
     */
    readonly postOnly?: boolean;
    /**
     * "ACK", "RESULT", Default "ACK"
     * @type {'ACK' | 'RESULT'}
     * @memberof TradeApiNewOrder
     */
    readonly newOrderRespType?: NewOrderNewOrderRespTypeEnum;
    /**
     * User-defined order ID, e.g 10000
     * @type {string}
     * @memberof TradeApiNewOrder
     */
    readonly clientOrderId?: string;
    /**
     * is market maker protection order, true/false
     * @type {boolean}
     * @memberof TradeApiNewOrder
     */
    readonly isMmp?: boolean;
    /**
     *
     * @type {number}
     * @memberof TradeApiNewOrder
     */
    readonly recvWindow?: number;
}
/**
 * Request parameters for optionPositionInformation operation in TradeApi.
 * @interface OptionPositionInformationRequest
 */
interface OptionPositionInformationRequest {
    /**
     * Option trading pair, e.g BTC-200730-9000-C
     * @type {string}
     * @memberof TradeApiOptionPositionInformation
     */
    readonly symbol?: string;
    /**
     *
     * @type {number}
     * @memberof TradeApiOptionPositionInformation
     */
    readonly recvWindow?: number;
}
/**
 * Request parameters for placeMultipleOrders operation in TradeApi.
 * @interface PlaceMultipleOrdersRequest
 */
interface PlaceMultipleOrdersRequest {
    /**
     * order list. Max 5 orders
     * @type {Array<PlaceMultipleOrdersOrdersParameterInner>}
     * @memberof TradeApiPlaceMultipleOrders
     */
    readonly orders: Array<PlaceMultipleOrdersOrdersParameterInner>;
    /**
     *
     * @type {number}
     * @memberof TradeApiPlaceMultipleOrders
     */
    readonly recvWindow?: number;
}
/**
 * Request parameters for queryCurrentOpenOptionOrders operation in TradeApi.
 * @interface QueryCurrentOpenOptionOrdersRequest
 */
interface QueryCurrentOpenOptionOrdersRequest {
    /**
     * Option trading pair, e.g BTC-200730-9000-C
     * @type {string}
     * @memberof TradeApiQueryCurrentOpenOptionOrders
     */
    readonly symbol?: string;
    /**
     * Order ID, e.g 4611875134427365377
     * @type {number}
     * @memberof TradeApiQueryCurrentOpenOptionOrders
     */
    readonly orderId?: number;
    /**
     * Start Time, e.g 1593511200000
     * @type {number}
     * @memberof TradeApiQueryCurrentOpenOptionOrders
     */
    readonly startTime?: number;
    /**
     * End Time, e.g 1593512200000
     * @type {number}
     * @memberof TradeApiQueryCurrentOpenOptionOrders
     */
    readonly endTime?: number;
    /**
     * Number of result sets returned Default:100 Max:1000
     * @type {number}
     * @memberof TradeApiQueryCurrentOpenOptionOrders
     */
    readonly limit?: number;
    /**
     *
     * @type {number}
     * @memberof TradeApiQueryCurrentOpenOptionOrders
     */
    readonly recvWindow?: number;
}
/**
 * Request parameters for queryOptionOrderHistory operation in TradeApi.
 * @interface QueryOptionOrderHistoryRequest
 */
interface QueryOptionOrderHistoryRequest {
    /**
     * Option trading pair, e.g BTC-200730-9000-C
     * @type {string}
     * @memberof TradeApiQueryOptionOrderHistory
     */
    readonly symbol: string;
    /**
     * Order ID, e.g 4611875134427365377
     * @type {number}
     * @memberof TradeApiQueryOptionOrderHistory
     */
    readonly orderId?: number;
    /**
     * Start Time, e.g 1593511200000
     * @type {number}
     * @memberof TradeApiQueryOptionOrderHistory
     */
    readonly startTime?: number;
    /**
     * End Time, e.g 1593512200000
     * @type {number}
     * @memberof TradeApiQueryOptionOrderHistory
     */
    readonly endTime?: number;
    /**
     * Number of result sets returned Default:100 Max:1000
     * @type {number}
     * @memberof TradeApiQueryOptionOrderHistory
     */
    readonly limit?: number;
    /**
     *
     * @type {number}
     * @memberof TradeApiQueryOptionOrderHistory
     */
    readonly recvWindow?: number;
}
/**
 * Request parameters for querySingleOrder operation in TradeApi.
 * @interface QuerySingleOrderRequest
 */
interface QuerySingleOrderRequest {
    /**
     * Option trading pair, e.g BTC-200730-9000-C
     * @type {string}
     * @memberof TradeApiQuerySingleOrder
     */
    readonly symbol: string;
    /**
     * Order ID, e.g 4611875134427365377
     * @type {number}
     * @memberof TradeApiQuerySingleOrder
     */
    readonly orderId?: number;
    /**
     * User-defined order ID, e.g 10000
     * @type {string}
     * @memberof TradeApiQuerySingleOrder
     */
    readonly clientOrderId?: string;
    /**
     *
     * @type {number}
     * @memberof TradeApiQuerySingleOrder
     */
    readonly recvWindow?: number;
}
/**
 * Request parameters for userExerciseRecord operation in TradeApi.
 * @interface UserExerciseRecordRequest
 */
interface UserExerciseRecordRequest {
    /**
     * Option trading pair, e.g BTC-200730-9000-C
     * @type {string}
     * @memberof TradeApiUserExerciseRecord
     */
    readonly symbol?: string;
    /**
     * Start Time, e.g 1593511200000
     * @type {number}
     * @memberof TradeApiUserExerciseRecord
     */
    readonly startTime?: number;
    /**
     * End Time, e.g 1593512200000
     * @type {number}
     * @memberof TradeApiUserExerciseRecord
     */
    readonly endTime?: number;
    /**
     * Number of result sets returned Default:100 Max:1000
     * @type {number}
     * @memberof TradeApiUserExerciseRecord
     */
    readonly limit?: number;
    /**
     *
     * @type {number}
     * @memberof TradeApiUserExerciseRecord
     */
    readonly recvWindow?: number;
}
/**
 * TradeApi - object-oriented interface
 * @class TradeApi
 */
declare class TradeApi implements TradeApiInterface {
    private readonly configuration;
    private localVarAxiosParamCreator;
    constructor(configuration: ConfigurationRestAPI);
    /**
     * Get trades for a specific account and symbol.
     *
     * Weight: 5
     *
     * @summary Account Trade List (USER_DATA)
     * @param {AccountTradeListRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<AccountTradeListResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof TradeApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/trade/Account-Trade-List Binance API Documentation}
     */
    accountTradeList(requestParameters?: AccountTradeListRequest): Promise<RestApiResponse<AccountTradeListResponse>>;
    /**
     * Cancel all active orders on specified underlying.
     *
     * Weight: 1
     *
     * @summary Cancel All Option Orders By Underlying (TRADE)
     * @param {CancelAllOptionOrdersByUnderlyingRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<CancelAllOptionOrdersByUnderlyingResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof TradeApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/trade/Cancel-All-Option-Orders-By-Underlying Binance API Documentation}
     */
    cancelAllOptionOrdersByUnderlying(requestParameters: CancelAllOptionOrdersByUnderlyingRequest): Promise<RestApiResponse<CancelAllOptionOrdersByUnderlyingResponse>>;
    /**
     * Cancel all active order on a symbol.
     *
     * Weight: 1
     *
     * @summary Cancel all Option orders on specific symbol (TRADE)
     * @param {CancelAllOptionOrdersOnSpecificSymbolRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<CancelAllOptionOrdersOnSpecificSymbolResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof TradeApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/trade/Cancel-all-Option-orders-on-specific-symbol Binance API Documentation}
     */
    cancelAllOptionOrdersOnSpecificSymbol(requestParameters: CancelAllOptionOrdersOnSpecificSymbolRequest): Promise<RestApiResponse<CancelAllOptionOrdersOnSpecificSymbolResponse>>;
    /**
     * Cancel multiple orders.
     *
     * At least one instance of `orderId` and `clientOrderId` must be sent.
     *
     * Weight: 1
     *
     * @summary Cancel Multiple Option Orders (TRADE)
     * @param {CancelMultipleOptionOrdersRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<CancelMultipleOptionOrdersResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof TradeApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/trade/Cancel-Multiple-Option-Orders Binance API Documentation}
     */
    cancelMultipleOptionOrders(requestParameters: CancelMultipleOptionOrdersRequest): Promise<RestApiResponse<CancelMultipleOptionOrdersResponse>>;
    /**
     * Cancel an active order.
     *
     * At least one instance of `orderId` and `clientOrderId` must be sent.
     *
     * Weight: 1
     *
     * @summary Cancel Option Order (TRADE)
     * @param {CancelOptionOrderRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<CancelOptionOrderResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof TradeApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/trade/Cancel-Option-Order Binance API Documentation}
     */
    cancelOptionOrder(requestParameters: CancelOptionOrderRequest): Promise<RestApiResponse<CancelOptionOrderResponse>>;
    /**
     * Send a new order.
     *
     * Weight: 0
     *
     * @summary New Order (TRADE)
     * @param {NewOrderRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<NewOrderResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof TradeApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/trade/New-Order Binance API Documentation}
     */
    newOrder(requestParameters: NewOrderRequest): Promise<RestApiResponse<NewOrderResponse>>;
    /**
     * Get current position information.
     *
     * Weight: 5
     *
     * @summary Option Position Information (USER_DATA)
     * @param {OptionPositionInformationRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<OptionPositionInformationResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof TradeApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/trade/Option-Position-Information Binance API Documentation}
     */
    optionPositionInformation(requestParameters?: OptionPositionInformationRequest): Promise<RestApiResponse<OptionPositionInformationResponse>>;
    /**
     * Send multiple option orders.
     *
     * Parameter rules are same with New Order
     * Batch orders are processed concurrently, and the order of matching is not guaranteed.
     *
     * Weight: 5
     *
     * @summary Place Multiple Orders(TRADE)
     * @param {PlaceMultipleOrdersRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<PlaceMultipleOrdersResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof TradeApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/trade/Place-Multiple-Orders Binance API Documentation}
     */
    placeMultipleOrders(requestParameters: PlaceMultipleOrdersRequest): Promise<RestApiResponse<PlaceMultipleOrdersResponse>>;
    /**
     * Query current all open orders, status: ACCEPTED PARTIALLY_FILLED
     *
     * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted
     *
     * @summary Query Current Open Option Orders (USER_DATA)
     * @param {QueryCurrentOpenOptionOrdersRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<QueryCurrentOpenOptionOrdersResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof TradeApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/trade/Query-Current-Open-Option-Orders Binance API Documentation}
     */
    queryCurrentOpenOptionOrders(requestParameters?: QueryCurrentOpenOptionOrdersRequest): Promise<RestApiResponse<QueryCurrentOpenOptionOrdersResponse>>;
    /**
     * Query all finished orders within 5 days, finished status: CANCELLED FILLED REJECTED.
     *
     * Weight: 3
     *
     * @summary Query Option Order History (TRADE)
     * @param {QueryOptionOrderHistoryRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<QueryOptionOrderHistoryResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof TradeApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/trade/Query-Option-Order-History Binance API Documentation}
     */
    queryOptionOrderHistory(requestParameters: QueryOptionOrderHistoryRequest): Promise<RestApiResponse<QueryOptionOrderHistoryResponse>>;
    /**
     * Check an order status.
     *
     * These orders will not be found:
     * order status is `CANCELED` or `REJECTED`, **AND**
     * order has NO filled trade, **AND**
     * created time + 3 days < current time
     *
     *
     * Either `orderId` or `clientOrderId ` must be sent.
     *
     * Weight: 1
     *
     * @summary Query Single Order (TRADE)
     * @param {QuerySingleOrderRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<QuerySingleOrderResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof TradeApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/trade/Query-Single-Order Binance API Documentation}
     */
    querySingleOrder(requestParameters: QuerySingleOrderRequest): Promise<RestApiResponse<QuerySingleOrderResponse>>;
    /**
     * Get account exercise records.
     *
     * Weight: 5
     *
     * @summary User Exercise Record (USER_DATA)
     * @param {UserExerciseRecordRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<UserExerciseRecordResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof TradeApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/trade/User-Exercise-Record Binance API Documentation}
     */
    userExerciseRecord(requestParameters?: UserExerciseRecordRequest): Promise<RestApiResponse<UserExerciseRecordResponse>>;
}
declare const NewOrderSideEnum: {
    readonly BUY: "BUY";
    readonly SELL: "SELL";
};
type NewOrderSideEnum = (typeof NewOrderSideEnum)[keyof typeof NewOrderSideEnum];
declare const NewOrderTypeEnum: {
    readonly LIMIT: "LIMIT";
};
type NewOrderTypeEnum = (typeof NewOrderTypeEnum)[keyof typeof NewOrderTypeEnum];
declare const NewOrderTimeInForceEnum: {
    readonly GTC: "GTC";
    readonly IOC: "IOC";
    readonly FOK: "FOK";
};
type NewOrderTimeInForceEnum = (typeof NewOrderTimeInForceEnum)[keyof typeof NewOrderTimeInForceEnum];
declare const NewOrderNewOrderRespTypeEnum: {
    readonly ACK: "ACK";
    readonly RESULT: "RESULT";
};
type NewOrderNewOrderRespTypeEnum = (typeof NewOrderNewOrderRespTypeEnum)[keyof typeof NewOrderNewOrderRespTypeEnum];

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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.
 */

/**
 * UserDataStreamsApi - interface
 * @interface UserDataStreamsApi
 */
interface UserDataStreamsApiInterface {
    /**
     * Close out a user data stream.
     *
     * Weight: 1
     *
     * @summary Close User Data Stream (USER_STREAM)
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof UserDataStreamsApiInterface
     */
    closeUserDataStream(): Promise<RestApiResponse<void>>;
    /**
     * Keepalive a user data stream to prevent a time out. User data streams will close after 60 minutes. It's recommended to send a ping about every 60 minutes.
     *
     * Weight: 1
     *
     * @summary Keepalive User Data Stream (USER_STREAM)
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof UserDataStreamsApiInterface
     */
    keepaliveUserDataStream(): Promise<RestApiResponse<void>>;
    /**
     * Start a new user data stream. The stream will close after 60 minutes unless a keepalive is sent. If the account has an active `listenKey`, that `listenKey` will be returned and its validity will be extended for 60 minutes.
     *
     * Weight: 1
     *
     * @summary Start User Data Stream (USER_STREAM)
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof UserDataStreamsApiInterface
     */
    startUserDataStream(): Promise<RestApiResponse<StartUserDataStreamResponse>>;
}
/**
 * UserDataStreamsApi - object-oriented interface
 * @class UserDataStreamsApi
 */
declare class UserDataStreamsApi implements UserDataStreamsApiInterface {
    private readonly configuration;
    private localVarAxiosParamCreator;
    constructor(configuration: ConfigurationRestAPI);
    /**
     * Close out a user data stream.
     *
     * Weight: 1
     *
     * @summary Close User Data Stream (USER_STREAM)
     * @returns {Promise<RestApiResponse<void>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof UserDataStreamsApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/user-data-streams/Close-User-Data-Stream Binance API Documentation}
     */
    closeUserDataStream(): Promise<RestApiResponse<void>>;
    /**
     * Keepalive a user data stream to prevent a time out. User data streams will close after 60 minutes. It's recommended to send a ping about every 60 minutes.
     *
     * Weight: 1
     *
     * @summary Keepalive User Data Stream (USER_STREAM)
     * @returns {Promise<RestApiResponse<void>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof UserDataStreamsApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/user-data-streams/Keepalive-User-Data-Stream Binance API Documentation}
     */
    keepaliveUserDataStream(): Promise<RestApiResponse<void>>;
    /**
     * Start a new user data stream. The stream will close after 60 minutes unless a keepalive is sent. If the account has an active `listenKey`, that `listenKey` will be returned and its validity will be extended for 60 minutes.
     *
     * Weight: 1
     *
     * @summary Start User Data Stream (USER_STREAM)
     * @returns {Promise<RestApiResponse<StartUserDataStreamResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof UserDataStreamsApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/user-data-streams/Start-User-Data-Stream Binance API Documentation}
     */
    startUserDataStream(): Promise<RestApiResponse<StartUserDataStreamResponse>>;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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.
 */

declare class RestAPI {
    private configuration;
    private accountApi;
    private marketDataApi;
    private marketMakerBlockTradeApi;
    private marketMakerEndpointsApi;
    private tradeApi;
    private userDataStreamsApi;
    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 params - Query parameters for the request.
     *
     * @returns A promise resolving to the response data object.
     */
    sendRequest<T>(endpoint: string, method: 'GET' | 'POST' | 'DELETE' | 'PUT' | 'PATCH', params?: 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 params - Query parameters for the request.
     *
     * @returns A promise resolving to the response data object.
     */
    sendSignedRequest<T>(endpoint: string, method: 'GET' | 'POST' | 'DELETE' | 'PUT' | 'PATCH', params?: Record<string, unknown>): Promise<RestApiResponse<T>>;
    /**
     * Query account funding flows.
     *
     * Weight: 1
     *
     * @summary Account Funding Flow (USER_DATA)
     * @param {AccountFundingFlowRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<AccountFundingFlowResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/account/Account-Funding-Flow Binance API Documentation}
     */
    accountFundingFlow(requestParameters: AccountFundingFlowRequest): Promise<RestApiResponse<AccountFundingFlowResponse>>;
    /**
     * Get download id for option transaction history
     *
     * Request Limitation is 5 times per month, shared by > front end download page and rest api
     * The time between `startTime` and `endTime` can not be longer than 1 year
     *
     * Weight: 5
     *
     * @summary Get Download Id For Option Transaction History (USER_DATA)
     * @param {GetDownloadIdForOptionTransactionHistoryRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<GetDownloadIdForOptionTransactionHistoryResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/account/Get-Download-Id-For-Option-Transaction-History Binance API Documentation}
     */
    getDownloadIdForOptionTransactionHistory(requestParameters: GetDownloadIdForOptionTransactionHistoryRequest): Promise<RestApiResponse<GetDownloadIdForOptionTransactionHistoryResponse>>;
    /**
     * Get option transaction history download Link by Id
     *
     * Download link expiration: 24h
     *
     * Weight: 5
     *
     * @summary Get Option Transaction History Download Link by Id (USER_DATA)
     * @param {GetOptionTransactionHistoryDownloadLinkByIdRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<GetOptionTransactionHistoryDownloadLinkByIdResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/account/Get-Option-Transaction-History-Download-Link-by-Id Binance API Documentation}
     */
    getOptionTransactionHistoryDownloadLinkById(requestParameters: GetOptionTransactionHistoryDownloadLinkByIdRequest): Promise<RestApiResponse<GetOptionTransactionHistoryDownloadLinkByIdResponse>>;
    /**
     * Get current account information.
     *
     * Weight: 3
     *
     * @summary Option Account Information(TRADE)
     * @param {OptionAccountInformationRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<OptionAccountInformationResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/account/Option-Account-Information Binance API Documentation}
     */
    optionAccountInformation(requestParameters?: OptionAccountInformationRequest): Promise<RestApiResponse<OptionAccountInformationResponse>>;
    /**
     * Test connectivity to the Rest API and get the current server time.
     *
     * Weight: 1
     *
     * @summary Check Server Time
     * @returns {Promise<RestApiResponse<CheckServerTimeResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-data/Check-Server-Time Binance API Documentation}
     */
    checkServerTime(): Promise<RestApiResponse<CheckServerTimeResponse>>;
    /**
     * Current exchange trading rules and symbol information
     *
     * Weight: 1
     *
     * @summary Exchange Information
     * @returns {Promise<RestApiResponse<ExchangeInformationResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-data/Exchange-Information Binance API Documentation}
     */
    exchangeInformation(): Promise<RestApiResponse<ExchangeInformationResponse>>;
    /**
     * Get historical exercise records.
     * REALISTIC_VALUE_STRICKEN -> Exercised
     * EXTRINSIC_VALUE_EXPIRED -> Expired OTM
     *
     * Weight: 3
     *
     * @summary Historical Exercise Records
     * @param {HistoricalExerciseRecordsRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<HistoricalExerciseRecordsResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-data/Historical-Exercise-Records Binance API Documentation}
     */
    historicalExerciseRecords(requestParameters?: HistoricalExerciseRecordsRequest): Promise<RestApiResponse<HistoricalExerciseRecordsResponse>>;
    /**
     * Kline/candlestick bars for an option symbol.
     * Klines are uniquely identified by their open time.
     *
     * If startTime and endTime are not sent, the most recent klines are returned.
     *
     * Weight: 1
     *
     * @summary Kline/Candlestick Data
     * @param {KlineCandlestickDataRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<KlineCandlestickDataResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-data/Kline-Candlestick-Data Binance API Documentation}
     */
    klineCandlestickData(requestParameters: KlineCandlestickDataRequest): Promise<RestApiResponse<KlineCandlestickDataResponse>>;
    /**
     * Get older market historical trades.
     *
     * Weight: 20
     *
     * @summary Old Trades Lookup (MARKET_DATA)
     * @param {OldTradesLookupRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<OldTradesLookupResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-data/Old-Trades-Lookup Binance API Documentation}
     */
    oldTradesLookup(requestParameters: OldTradesLookupRequest): Promise<RestApiResponse<OldTradesLookupResponse>>;
    /**
     * Get open interest for specific underlying asset on specific expiration date.
     *
     * Weight: 0
     *
     * @summary Open Interest
     * @param {OpenInterestRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<OpenInterestResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-data/Open-Interest Binance API Documentation}
     */
    openInterest(requestParameters: OpenInterestRequest$1): Promise<RestApiResponse<OpenInterestResponse$1>>;
    /**
     * Option mark price and greek info.
     *
     * Weight: 5
     *
     * @summary Option Mark Price
     * @param {OptionMarkPriceRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<OptionMarkPriceResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-data/Option-Mark-Price Binance API Documentation}
     */
    optionMarkPrice(requestParameters?: OptionMarkPriceRequest): Promise<RestApiResponse<OptionMarkPriceResponse>>;
    /**
     * Check orderbook depth on specific symbol
     *
     * Weight: limit         | weight
     * ------------  | ------------
     * 5, 10, 20, 50 | 2
     * 100           | 5
     * 500           | 10
     * 1000          | 20
     *
     * @summary Order Book
     * @param {OrderBookRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<OrderBookResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-data/Order-Book Binance API Documentation}
     */
    orderBook(requestParameters: OrderBookRequest): Promise<RestApiResponse<OrderBookResponse>>;
    /**
     * Get recent block trades
     *
     * Weight: 5
     *
     * @summary Recent Block Trades List
     * @param {RecentBlockTradesListRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<RecentBlockTradesListResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-data/Recent-Block-Trade-List Binance API Documentation}
     */
    recentBlockTradesList(requestParameters?: RecentBlockTradesListRequest): Promise<RestApiResponse<RecentBlockTradesListResponse>>;
    /**
     * Get recent market trades
     *
     * Weight: 5
     *
     * @summary Recent Trades List
     * @param {RecentTradesListRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<RecentTradesListResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-data/Recent-Trades-List Binance API Documentation}
     */
    recentTradesList(requestParameters: RecentTradesListRequest): Promise<RestApiResponse<RecentTradesListResponse>>;
    /**
     * Get spot index price for option underlying.
     *
     * Weight: 1
     *
     * @summary Symbol Price Ticker
     * @param {SymbolPriceTickerRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<SymbolPriceTickerResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-data/Symbol-Price-Ticker Binance API Documentation}
     */
    symbolPriceTicker(requestParameters: SymbolPriceTickerRequest): Promise<RestApiResponse<SymbolPriceTickerResponse>>;
    /**
     * Test connectivity to the Rest API.
     *
     * Weight: 1
     *
     * @summary Test Connectivity
     * @returns {Promise<RestApiResponse<void>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-data/Test-Connectivity Binance API Documentation}
     */
    testConnectivity(): Promise<RestApiResponse<void>>;
    /**
     * 24 hour rolling window price change statistics.
     *
     * Weight: 5
     *
     * @summary 24hr Ticker Price Change Statistics
     * @param {Ticker24hrPriceChangeStatisticsRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<Ticker24hrPriceChangeStatisticsResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-data/24hr-Ticker-Price-Change-Statistics Binance API Documentation}
     */
    ticker24hrPriceChangeStatistics(requestParameters?: Ticker24hrPriceChangeStatisticsRequest): Promise<RestApiResponse<Ticker24hrPriceChangeStatisticsResponse>>;
    /**
     * Accept a block trade order
     *
     * Weight: 5
     *
     * @summary Accept Block Trade Order (TRADE)
     * @param {AcceptBlockTradeOrderRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<AcceptBlockTradeOrderResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-maker-block-trade/Accept-Block-Trade-Order Binance API Documentation}
     */
    acceptBlockTradeOrder(requestParameters: AcceptBlockTradeOrderRequest): Promise<RestApiResponse<AcceptBlockTradeOrderResponse>>;
    /**
     * Gets block trades for a specific account.
     *
     * Weight: 5
     *
     * @summary Account Block Trade List (USER_DATA)
     * @param {AccountBlockTradeListRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<AccountBlockTradeListResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-maker-block-trade/Account-Block-Trade-List Binance API Documentation}
     */
    accountBlockTradeList(requestParameters?: AccountBlockTradeListRequest): Promise<RestApiResponse<AccountBlockTradeListResponse>>;
    /**
     * Cancel a block trade order.
     *
     * Weight: 5
     *
     * @summary Cancel Block Trade Order (TRADE)
     * @param {CancelBlockTradeOrderRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<void>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-maker-block-trade/Cancel-Block-Trade-Order Binance API Documentation}
     */
    cancelBlockTradeOrder(requestParameters: CancelBlockTradeOrderRequest): Promise<RestApiResponse<void>>;
    /**
     * Extends a block trade expire time by 30 mins from the current time.
     *
     * Weight: 5
     *
     * @summary Extend Block Trade Order (TRADE)
     * @param {ExtendBlockTradeOrderRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<ExtendBlockTradeOrderResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-maker-block-trade/Extend-Block-Trade-Order Binance API Documentation}
     */
    extendBlockTradeOrder(requestParameters: ExtendBlockTradeOrderRequest): Promise<RestApiResponse<ExtendBlockTradeOrderResponse>>;
    /**
     * Send in a new block trade order.
     *
     * Weight: 5
     *
     * @summary New Block Trade Order (TRADE)
     * @param {NewBlockTradeOrderRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<NewBlockTradeOrderResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-maker-block-trade/New-Block-Trade-Order Binance API Documentation}
     */
    newBlockTradeOrder(requestParameters: NewBlockTradeOrderRequest): Promise<RestApiResponse<NewBlockTradeOrderResponse>>;
    /**
     * Query block trade details; returns block trade details from counterparty's perspective.
     *
     * Weight: 5
     *
     * @summary Query Block Trade Details (USER_DATA)
     * @param {QueryBlockTradeDetailsRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<QueryBlockTradeDetailsResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-maker-block-trade/Query-Block-Trade-Detail Binance API Documentation}
     */
    queryBlockTradeDetails(requestParameters: QueryBlockTradeDetailsRequest): Promise<RestApiResponse<QueryBlockTradeDetailsResponse>>;
    /**
     * Check block trade order status.
     *
     * Weight: 5
     *
     * @summary Query Block Trade Order (TRADE)
     * @param {QueryBlockTradeOrderRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<QueryBlockTradeOrderResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-maker-block-trade/Query-Block-Trade-Order Binance API Documentation}
     */
    queryBlockTradeOrder(requestParameters?: QueryBlockTradeOrderRequest): Promise<RestApiResponse<QueryBlockTradeOrderResponse>>;
    /**
     * This endpoint resets the time from which the countdown will begin to the time this messaged is received.  It should be called repeatedly as heartbeats.  Multiple heartbeats can be updated at once by specifying the underlying symbols as a list (ex. BTCUSDT,ETHUSDT) in the underlyings parameter.
     *
     * The response will only include underlying symbols where the heartbeat has been successfully updated.
     *
     * Weight: 10
     *
     * @summary Auto-Cancel All Open Orders (Kill-Switch) Heartbeat (TRADE)
     * @param {AutoCancelAllOpenOrdersRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<AutoCancelAllOpenOrdersResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-maker-endpoints/Auto-Cancel-All-Open-Orders-Heartbeat Binance API Documentation}
     */
    autoCancelAllOpenOrders(requestParameters: AutoCancelAllOpenOrdersRequest): Promise<RestApiResponse<AutoCancelAllOpenOrdersResponse>>;
    /**
     * This endpoint returns the auto-cancel parameters for each underlying symbol. Note only active auto-cancel parameters will be returned, if countdownTime is set to 0 (ie. countdownTime has been turned off), the underlying symbol and corresponding countdownTime parameter will not be returned in the response.
     *
     * countdownTime = 0 means the function is disabled.
     *
     * Weight: 1
     *
     * @summary Get Auto-Cancel All Open Orders (Kill-Switch) Config (TRADE)
     * @param {GetAutoCancelAllOpenOrdersRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<GetAutoCancelAllOpenOrdersResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-maker-endpoints/Get-Auto-Cancel-All-Open-Orders-Config Binance API Documentation}
     */
    getAutoCancelAllOpenOrders(requestParameters?: GetAutoCancelAllOpenOrdersRequest): Promise<RestApiResponse<GetAutoCancelAllOpenOrdersResponse>>;
    /**
     * Get config for MMP.
     *
     * Weight: 1
     *
     * @summary Get Market Maker Protection Config (TRADE)
     * @param {GetMarketMakerProtectionConfigRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<GetMarketMakerProtectionConfigResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-maker-endpoints/Get-Market-Maker-Protection-Config Binance API Documentation}
     */
    getMarketMakerProtectionConfig(requestParameters?: GetMarketMakerProtectionConfigRequest): Promise<RestApiResponse<GetMarketMakerProtectionConfigResponse>>;
    /**
     * Get current account information.
     *
     * Weight: 3
     *
     * @summary Option Margin Account Information (USER_DATA)
     * @param {OptionMarginAccountInformationRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<OptionMarginAccountInformationResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-maker-endpoints/Option-Margin-Account-Information Binance API Documentation}
     */
    optionMarginAccountInformation(requestParameters?: OptionMarginAccountInformationRequest): Promise<RestApiResponse<OptionMarginAccountInformationResponse>>;
    /**
     * Reset MMP, start MMP order again.
     *
     * Weight: 1
     *
     * @summary Reset Market Maker Protection Config (TRADE)
     * @param {ResetMarketMakerProtectionConfigRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<ResetMarketMakerProtectionConfigResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-maker-endpoints/Reset-Market-Maker-Protection-Config Binance API Documentation}
     */
    resetMarketMakerProtectionConfig(requestParameters?: ResetMarketMakerProtectionConfigRequest): Promise<RestApiResponse<ResetMarketMakerProtectionConfigResponse>>;
    /**
     * This endpoint sets the parameters of the auto-cancel feature which cancels all open orders (both market maker protection and non market maker protection order types) of the underlying symbol at the end of the specified countdown time period if no heartbeat message is sent.  After the countdown time period, all open orders will be cancelled and new orders will be rejected with error code -2010 until either a heartbeat message is sent or the auto-cancel feature is turned off by setting countdownTime to 0.
     *
     *
     * This rest endpoint sets up the parameters to cancel your open orders in case of an outage or disconnection.
     * Example usage:
     * Call this endpoint with a countdownTime value of 10000 (10 seconds) to turn on the auto-cancel feature. If the corresponding countdownCancelAllHeartBeat endpoint is not called within 10 seconds with the specified underlying symbol, all open orders of the specified symbol will be automatically canceled. If this endpoint is called with an countdownTime of 0, the countdown timer will be stopped.
     * The system will check all countdowns approximately every 1000 milliseconds, **please note that sufficient redundancy should be considered when using this function**. We do not recommend setting the countdown time to be too precise or too small.
     *
     * Weight: 1
     *
     * @summary Set Auto-Cancel All Open Orders (Kill-Switch) Config (TRADE)
     * @param {SetAutoCancelAllOpenOrdersRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<SetAutoCancelAllOpenOrdersResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-maker-endpoints/Set-Auto-Cancel-All-Open-Orders-Config Binance API Documentation}
     */
    setAutoCancelAllOpenOrders(requestParameters: SetAutoCancelAllOpenOrdersRequest): Promise<RestApiResponse<SetAutoCancelAllOpenOrdersResponse>>;
    /**
     * Set config for MMP.
     * Market Maker Protection(MMP) is a set of protection mechanism for option market maker, this mechanism is able to prevent mass trading in short period time. Once market maker's account branches the threshold, the Market Maker Protection will be triggered. When Market Maker Protection triggers, all the current MMP orders will be canceled, new MMP orders will be rejected. Market maker can use this time to reevaluate market and modify order price.
     *
     * Weight: 1
     *
     * @summary Set Market Maker Protection Config (TRADE)
     * @param {SetMarketMakerProtectionConfigRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<SetMarketMakerProtectionConfigResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/market-maker-endpoints/Set-Market-Maker-Protection-Config Binance API Documentation}
     */
    setMarketMakerProtectionConfig(requestParameters?: SetMarketMakerProtectionConfigRequest): Promise<RestApiResponse<SetMarketMakerProtectionConfigResponse>>;
    /**
     * Get trades for a specific account and symbol.
     *
     * Weight: 5
     *
     * @summary Account Trade List (USER_DATA)
     * @param {AccountTradeListRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<AccountTradeListResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/trade/Account-Trade-List Binance API Documentation}
     */
    accountTradeList(requestParameters?: AccountTradeListRequest): Promise<RestApiResponse<AccountTradeListResponse>>;
    /**
     * Cancel all active orders on specified underlying.
     *
     * Weight: 1
     *
     * @summary Cancel All Option Orders By Underlying (TRADE)
     * @param {CancelAllOptionOrdersByUnderlyingRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<CancelAllOptionOrdersByUnderlyingResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/trade/Cancel-All-Option-Orders-By-Underlying Binance API Documentation}
     */
    cancelAllOptionOrdersByUnderlying(requestParameters: CancelAllOptionOrdersByUnderlyingRequest): Promise<RestApiResponse<CancelAllOptionOrdersByUnderlyingResponse>>;
    /**
     * Cancel all active order on a symbol.
     *
     * Weight: 1
     *
     * @summary Cancel all Option orders on specific symbol (TRADE)
     * @param {CancelAllOptionOrdersOnSpecificSymbolRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<CancelAllOptionOrdersOnSpecificSymbolResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/trade/Cancel-all-Option-orders-on-specific-symbol Binance API Documentation}
     */
    cancelAllOptionOrdersOnSpecificSymbol(requestParameters: CancelAllOptionOrdersOnSpecificSymbolRequest): Promise<RestApiResponse<CancelAllOptionOrdersOnSpecificSymbolResponse>>;
    /**
     * Cancel multiple orders.
     *
     * At least one instance of `orderId` and `clientOrderId` must be sent.
     *
     * Weight: 1
     *
     * @summary Cancel Multiple Option Orders (TRADE)
     * @param {CancelMultipleOptionOrdersRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<CancelMultipleOptionOrdersResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/trade/Cancel-Multiple-Option-Orders Binance API Documentation}
     */
    cancelMultipleOptionOrders(requestParameters: CancelMultipleOptionOrdersRequest): Promise<RestApiResponse<CancelMultipleOptionOrdersResponse>>;
    /**
     * Cancel an active order.
     *
     * At least one instance of `orderId` and `clientOrderId` must be sent.
     *
     * Weight: 1
     *
     * @summary Cancel Option Order (TRADE)
     * @param {CancelOptionOrderRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<CancelOptionOrderResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/trade/Cancel-Option-Order Binance API Documentation}
     */
    cancelOptionOrder(requestParameters: CancelOptionOrderRequest): Promise<RestApiResponse<CancelOptionOrderResponse>>;
    /**
     * Send a new order.
     *
     * Weight: 0
     *
     * @summary New Order (TRADE)
     * @param {NewOrderRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<NewOrderResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/trade/New-Order Binance API Documentation}
     */
    newOrder(requestParameters: NewOrderRequest): Promise<RestApiResponse<NewOrderResponse>>;
    /**
     * Get current position information.
     *
     * Weight: 5
     *
     * @summary Option Position Information (USER_DATA)
     * @param {OptionPositionInformationRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<OptionPositionInformationResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/trade/Option-Position-Information Binance API Documentation}
     */
    optionPositionInformation(requestParameters?: OptionPositionInformationRequest): Promise<RestApiResponse<OptionPositionInformationResponse>>;
    /**
     * Send multiple option orders.
     *
     * Parameter rules are same with New Order
     * Batch orders are processed concurrently, and the order of matching is not guaranteed.
     *
     * Weight: 5
     *
     * @summary Place Multiple Orders(TRADE)
     * @param {PlaceMultipleOrdersRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<PlaceMultipleOrdersResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/trade/Place-Multiple-Orders Binance API Documentation}
     */
    placeMultipleOrders(requestParameters: PlaceMultipleOrdersRequest): Promise<RestApiResponse<PlaceMultipleOrdersResponse>>;
    /**
     * Query current all open orders, status: ACCEPTED PARTIALLY_FILLED
     *
     * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted
     *
     * @summary Query Current Open Option Orders (USER_DATA)
     * @param {QueryCurrentOpenOptionOrdersRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<QueryCurrentOpenOptionOrdersResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/trade/Query-Current-Open-Option-Orders Binance API Documentation}
     */
    queryCurrentOpenOptionOrders(requestParameters?: QueryCurrentOpenOptionOrdersRequest): Promise<RestApiResponse<QueryCurrentOpenOptionOrdersResponse>>;
    /**
     * Query all finished orders within 5 days, finished status: CANCELLED FILLED REJECTED.
     *
     * Weight: 3
     *
     * @summary Query Option Order History (TRADE)
     * @param {QueryOptionOrderHistoryRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<QueryOptionOrderHistoryResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/trade/Query-Option-Order-History Binance API Documentation}
     */
    queryOptionOrderHistory(requestParameters: QueryOptionOrderHistoryRequest): Promise<RestApiResponse<QueryOptionOrderHistoryResponse>>;
    /**
     * Check an order status.
     *
     * These orders will not be found:
     * order status is `CANCELED` or `REJECTED`, **AND**
     * order has NO filled trade, **AND**
     * created time + 3 days < current time
     *
     *
     * Either `orderId` or `clientOrderId ` must be sent.
     *
     * Weight: 1
     *
     * @summary Query Single Order (TRADE)
     * @param {QuerySingleOrderRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<QuerySingleOrderResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/trade/Query-Single-Order Binance API Documentation}
     */
    querySingleOrder(requestParameters: QuerySingleOrderRequest): Promise<RestApiResponse<QuerySingleOrderResponse>>;
    /**
     * Get account exercise records.
     *
     * Weight: 5
     *
     * @summary User Exercise Record (USER_DATA)
     * @param {UserExerciseRecordRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<UserExerciseRecordResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/trade/User-Exercise-Record Binance API Documentation}
     */
    userExerciseRecord(requestParameters?: UserExerciseRecordRequest): Promise<RestApiResponse<UserExerciseRecordResponse>>;
    /**
     * Close out a user data stream.
     *
     * Weight: 1
     *
     * @summary Close User Data Stream (USER_STREAM)
     * @returns {Promise<RestApiResponse<void>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/user-data-streams/Close-User-Data-Stream Binance API Documentation}
     */
    closeUserDataStream(): Promise<RestApiResponse<void>>;
    /**
     * Keepalive a user data stream to prevent a time out. User data streams will close after 60 minutes. It's recommended to send a ping about every 60 minutes.
     *
     * Weight: 1
     *
     * @summary Keepalive User Data Stream (USER_STREAM)
     * @returns {Promise<RestApiResponse<void>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/user-data-streams/Keepalive-User-Data-Stream Binance API Documentation}
     */
    keepaliveUserDataStream(): Promise<RestApiResponse<void>>;
    /**
     * Start a new user data stream. The stream will close after 60 minutes unless a keepalive is sent. If the account has an active `listenKey`, that `listenKey` will be returned and its validity will be extended for 60 minutes.
     *
     * Weight: 1
     *
     * @summary Start User Data Stream (USER_STREAM)
     * @returns {Promise<RestApiResponse<StartUserDataStreamResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/user-data-streams/Start-User-Data-Stream Binance API Documentation}
     */
    startUserDataStream(): Promise<RestApiResponse<StartUserDataStreamResponse>>;
}

/**
 * Binance Public Derivatives Trading Options REST API
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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.
 */

type index$1_AcceptBlockTradeOrderRequest = AcceptBlockTradeOrderRequest;
type index$1_AcceptBlockTradeOrderResponse = AcceptBlockTradeOrderResponse;
type index$1_AcceptBlockTradeOrderResponseLegsInner = AcceptBlockTradeOrderResponseLegsInner;
type index$1_AccountApi = AccountApi;
declare const index$1_AccountApi: typeof AccountApi;
type index$1_AccountApiInterface = AccountApiInterface;
type index$1_AccountBlockTradeListRequest = AccountBlockTradeListRequest;
type index$1_AccountBlockTradeListResponse = AccountBlockTradeListResponse;
type index$1_AccountBlockTradeListResponseInner = AccountBlockTradeListResponseInner;
type index$1_AccountBlockTradeListResponseInnerLegsInner = AccountBlockTradeListResponseInnerLegsInner;
type index$1_AccountFundingFlowRequest = AccountFundingFlowRequest;
type index$1_AccountFundingFlowResponse = AccountFundingFlowResponse;
type index$1_AccountFundingFlowResponseInner = AccountFundingFlowResponseInner;
type index$1_AccountTradeListRequest = AccountTradeListRequest;
type index$1_AccountTradeListResponse = AccountTradeListResponse;
type index$1_AccountTradeListResponseInner = AccountTradeListResponseInner;
type index$1_AutoCancelAllOpenOrdersRequest = AutoCancelAllOpenOrdersRequest;
type index$1_AutoCancelAllOpenOrdersResponse = AutoCancelAllOpenOrdersResponse;
type index$1_BadRequest = BadRequest;
type index$1_CancelAllOptionOrdersByUnderlyingRequest = CancelAllOptionOrdersByUnderlyingRequest;
type index$1_CancelAllOptionOrdersByUnderlyingResponse = CancelAllOptionOrdersByUnderlyingResponse;
type index$1_CancelAllOptionOrdersOnSpecificSymbolRequest = CancelAllOptionOrdersOnSpecificSymbolRequest;
type index$1_CancelAllOptionOrdersOnSpecificSymbolResponse = CancelAllOptionOrdersOnSpecificSymbolResponse;
type index$1_CancelBlockTradeOrderRequest = CancelBlockTradeOrderRequest;
type index$1_CancelMultipleOptionOrdersRequest = CancelMultipleOptionOrdersRequest;
type index$1_CancelMultipleOptionOrdersResponse = CancelMultipleOptionOrdersResponse;
type index$1_CancelMultipleOptionOrdersResponseInner = CancelMultipleOptionOrdersResponseInner;
type index$1_CancelOptionOrderRequest = CancelOptionOrderRequest;
type index$1_CancelOptionOrderResponse = CancelOptionOrderResponse;
type index$1_CheckServerTimeResponse = CheckServerTimeResponse;
type index$1_ExchangeInformationResponse = ExchangeInformationResponse;
type index$1_ExchangeInformationResponseOptionAssetsInner = ExchangeInformationResponseOptionAssetsInner;
type index$1_ExchangeInformationResponseOptionContractsInner = ExchangeInformationResponseOptionContractsInner;
type index$1_ExchangeInformationResponseOptionSymbolsInner = ExchangeInformationResponseOptionSymbolsInner;
type index$1_ExchangeInformationResponseOptionSymbolsInnerFiltersInner = ExchangeInformationResponseOptionSymbolsInnerFiltersInner;
type index$1_ExchangeInformationResponseRateLimitsInner = ExchangeInformationResponseRateLimitsInner;
type index$1_ExtendBlockTradeOrderRequest = ExtendBlockTradeOrderRequest;
type index$1_ExtendBlockTradeOrderResponse = ExtendBlockTradeOrderResponse;
type index$1_ExtendBlockTradeOrderResponseLegsInner = ExtendBlockTradeOrderResponseLegsInner;
type index$1_GetAutoCancelAllOpenOrdersRequest = GetAutoCancelAllOpenOrdersRequest;
type index$1_GetAutoCancelAllOpenOrdersResponse = GetAutoCancelAllOpenOrdersResponse;
type index$1_GetDownloadIdForOptionTransactionHistoryRequest = GetDownloadIdForOptionTransactionHistoryRequest;
type index$1_GetDownloadIdForOptionTransactionHistoryResponse = GetDownloadIdForOptionTransactionHistoryResponse;
type index$1_GetMarketMakerProtectionConfigRequest = GetMarketMakerProtectionConfigRequest;
type index$1_GetMarketMakerProtectionConfigResponse = GetMarketMakerProtectionConfigResponse;
type index$1_GetOptionTransactionHistoryDownloadLinkByIdRequest = GetOptionTransactionHistoryDownloadLinkByIdRequest;
type index$1_GetOptionTransactionHistoryDownloadLinkByIdResponse = GetOptionTransactionHistoryDownloadLinkByIdResponse;
type index$1_GetOptionTransactionHistoryDownloadLinkByIdResponse1 = GetOptionTransactionHistoryDownloadLinkByIdResponse1;
type index$1_GetOptionTransactionHistoryDownloadLinkByIdResponse2 = GetOptionTransactionHistoryDownloadLinkByIdResponse2;
type index$1_HistoricalExerciseRecordsRequest = HistoricalExerciseRecordsRequest;
type index$1_HistoricalExerciseRecordsResponse = HistoricalExerciseRecordsResponse;
type index$1_HistoricalExerciseRecordsResponseInner = HistoricalExerciseRecordsResponseInner;
type index$1_KlineCandlestickDataRequest = KlineCandlestickDataRequest;
type index$1_KlineCandlestickDataResponse = KlineCandlestickDataResponse;
type index$1_KlineCandlestickDataResponseInner = KlineCandlestickDataResponseInner;
type index$1_MarketDataApi = MarketDataApi;
declare const index$1_MarketDataApi: typeof MarketDataApi;
type index$1_MarketDataApiInterface = MarketDataApiInterface;
type index$1_MarketMakerBlockTradeApi = MarketMakerBlockTradeApi;
declare const index$1_MarketMakerBlockTradeApi: typeof MarketMakerBlockTradeApi;
type index$1_MarketMakerBlockTradeApiInterface = MarketMakerBlockTradeApiInterface;
type index$1_MarketMakerEndpointsApi = MarketMakerEndpointsApi;
declare const index$1_MarketMakerEndpointsApi: typeof MarketMakerEndpointsApi;
type index$1_MarketMakerEndpointsApiInterface = MarketMakerEndpointsApiInterface;
type index$1_NewBlockTradeOrderRequest = NewBlockTradeOrderRequest;
type index$1_NewBlockTradeOrderResponse = NewBlockTradeOrderResponse;
type index$1_NewBlockTradeOrderSideEnum = NewBlockTradeOrderSideEnum;
type index$1_NewOrderNewOrderRespTypeEnum = NewOrderNewOrderRespTypeEnum;
type index$1_NewOrderRequest = NewOrderRequest;
type index$1_NewOrderResponse = NewOrderResponse;
type index$1_NewOrderResponse1 = NewOrderResponse1;
type index$1_NewOrderResponse2 = NewOrderResponse2;
type index$1_NewOrderSideEnum = NewOrderSideEnum;
type index$1_NewOrderTimeInForceEnum = NewOrderTimeInForceEnum;
type index$1_NewOrderTypeEnum = NewOrderTypeEnum;
type index$1_OldTradesLookupRequest = OldTradesLookupRequest;
type index$1_OldTradesLookupResponse = OldTradesLookupResponse;
type index$1_OldTradesLookupResponseInner = OldTradesLookupResponseInner;
type index$1_OptionAccountInformationRequest = OptionAccountInformationRequest;
type index$1_OptionAccountInformationResponse = OptionAccountInformationResponse;
type index$1_OptionAccountInformationResponseAssetInner = OptionAccountInformationResponseAssetInner;
type index$1_OptionAccountInformationResponseGreekInner = OptionAccountInformationResponseGreekInner;
type index$1_OptionMarginAccountInformationRequest = OptionMarginAccountInformationRequest;
type index$1_OptionMarginAccountInformationResponse = OptionMarginAccountInformationResponse;
type index$1_OptionMarginAccountInformationResponseAssetInner = OptionMarginAccountInformationResponseAssetInner;
type index$1_OptionMarkPriceRequest = OptionMarkPriceRequest;
type index$1_OptionMarkPriceResponse = OptionMarkPriceResponse;
type index$1_OptionMarkPriceResponseInner = OptionMarkPriceResponseInner;
type index$1_OptionPositionInformationRequest = OptionPositionInformationRequest;
type index$1_OptionPositionInformationResponse = OptionPositionInformationResponse;
type index$1_OptionPositionInformationResponseInner = OptionPositionInformationResponseInner;
type index$1_OrderBookRequest = OrderBookRequest;
type index$1_OrderBookResponse = OrderBookResponse;
type index$1_OrderBookResponseAsksItem = OrderBookResponseAsksItem;
type index$1_OrderBookResponseBidsItem = OrderBookResponseBidsItem;
type index$1_PlaceMultipleOrdersOrdersParameterInner = PlaceMultipleOrdersOrdersParameterInner;
type index$1_PlaceMultipleOrdersOrdersParameterInnerNewOrderRespTypeEnum = PlaceMultipleOrdersOrdersParameterInnerNewOrderRespTypeEnum;
type index$1_PlaceMultipleOrdersOrdersParameterInnerSideEnum = PlaceMultipleOrdersOrdersParameterInnerSideEnum;
type index$1_PlaceMultipleOrdersOrdersParameterInnerTimeInForceEnum = PlaceMultipleOrdersOrdersParameterInnerTimeInForceEnum;
type index$1_PlaceMultipleOrdersOrdersParameterInnerTypeEnum = PlaceMultipleOrdersOrdersParameterInnerTypeEnum;
type index$1_PlaceMultipleOrdersRequest = PlaceMultipleOrdersRequest;
type index$1_PlaceMultipleOrdersResponse = PlaceMultipleOrdersResponse;
type index$1_PlaceMultipleOrdersResponseInner = PlaceMultipleOrdersResponseInner;
type index$1_QueryBlockTradeDetailsRequest = QueryBlockTradeDetailsRequest;
type index$1_QueryBlockTradeDetailsResponse = QueryBlockTradeDetailsResponse;
type index$1_QueryBlockTradeDetailsResponseLegsInner = QueryBlockTradeDetailsResponseLegsInner;
type index$1_QueryBlockTradeOrderRequest = QueryBlockTradeOrderRequest;
type index$1_QueryBlockTradeOrderResponse = QueryBlockTradeOrderResponse;
type index$1_QueryBlockTradeOrderResponseInner = QueryBlockTradeOrderResponseInner;
type index$1_QueryCurrentOpenOptionOrdersRequest = QueryCurrentOpenOptionOrdersRequest;
type index$1_QueryCurrentOpenOptionOrdersResponse = QueryCurrentOpenOptionOrdersResponse;
type index$1_QueryCurrentOpenOptionOrdersResponseInner = QueryCurrentOpenOptionOrdersResponseInner;
type index$1_QueryOptionOrderHistoryRequest = QueryOptionOrderHistoryRequest;
type index$1_QueryOptionOrderHistoryResponse = QueryOptionOrderHistoryResponse;
type index$1_QueryOptionOrderHistoryResponseInner = QueryOptionOrderHistoryResponseInner;
type index$1_QuerySingleOrderRequest = QuerySingleOrderRequest;
type index$1_QuerySingleOrderResponse = QuerySingleOrderResponse;
type index$1_RecentBlockTradesListRequest = RecentBlockTradesListRequest;
type index$1_RecentBlockTradesListResponse = RecentBlockTradesListResponse;
type index$1_RecentBlockTradesListResponseInner = RecentBlockTradesListResponseInner;
type index$1_RecentTradesListRequest = RecentTradesListRequest;
type index$1_RecentTradesListResponse = RecentTradesListResponse;
type index$1_RecentTradesListResponseInner = RecentTradesListResponseInner;
type index$1_ResetMarketMakerProtectionConfigRequest = ResetMarketMakerProtectionConfigRequest;
type index$1_ResetMarketMakerProtectionConfigResponse = ResetMarketMakerProtectionConfigResponse;
type index$1_RestAPI = RestAPI;
declare const index$1_RestAPI: typeof RestAPI;
type index$1_SetAutoCancelAllOpenOrdersRequest = SetAutoCancelAllOpenOrdersRequest;
type index$1_SetAutoCancelAllOpenOrdersResponse = SetAutoCancelAllOpenOrdersResponse;
type index$1_SetMarketMakerProtectionConfigRequest = SetMarketMakerProtectionConfigRequest;
type index$1_SetMarketMakerProtectionConfigResponse = SetMarketMakerProtectionConfigResponse;
type index$1_StartUserDataStreamResponse = StartUserDataStreamResponse;
type index$1_SymbolPriceTickerRequest = SymbolPriceTickerRequest;
type index$1_SymbolPriceTickerResponse = SymbolPriceTickerResponse;
type index$1_Ticker24hrPriceChangeStatisticsRequest = Ticker24hrPriceChangeStatisticsRequest;
type index$1_Ticker24hrPriceChangeStatisticsResponse = Ticker24hrPriceChangeStatisticsResponse;
type index$1_Ticker24hrPriceChangeStatisticsResponseInner = Ticker24hrPriceChangeStatisticsResponseInner;
type index$1_TradeApi = TradeApi;
declare const index$1_TradeApi: typeof TradeApi;
type index$1_TradeApiInterface = TradeApiInterface;
type index$1_UserDataStreamsApi = UserDataStreamsApi;
declare const index$1_UserDataStreamsApi: typeof UserDataStreamsApi;
type index$1_UserDataStreamsApiInterface = UserDataStreamsApiInterface;
type index$1_UserExerciseRecordRequest = UserExerciseRecordRequest;
type index$1_UserExerciseRecordResponse = UserExerciseRecordResponse;
type index$1_UserExerciseRecordResponseInner = UserExerciseRecordResponseInner;
declare namespace index$1 {
  export {
    index$1_AcceptBlockTradeOrderRequest as AcceptBlockTradeOrderRequest,
    index$1_AcceptBlockTradeOrderResponse as AcceptBlockTradeOrderResponse,
    index$1_AcceptBlockTradeOrderResponseLegsInner as AcceptBlockTradeOrderResponseLegsInner,
    index$1_AccountApi as AccountApi,
    index$1_AccountApiInterface as AccountApiInterface,
    index$1_AccountBlockTradeListRequest as AccountBlockTradeListRequest,
    index$1_AccountBlockTradeListResponse as AccountBlockTradeListResponse,
    index$1_AccountBlockTradeListResponseInner as AccountBlockTradeListResponseInner,
    index$1_AccountBlockTradeListResponseInnerLegsInner as AccountBlockTradeListResponseInnerLegsInner,
    index$1_AccountFundingFlowRequest as AccountFundingFlowRequest,
    index$1_AccountFundingFlowResponse as AccountFundingFlowResponse,
    index$1_AccountFundingFlowResponseInner as AccountFundingFlowResponseInner,
    index$1_AccountTradeListRequest as AccountTradeListRequest,
    index$1_AccountTradeListResponse as AccountTradeListResponse,
    index$1_AccountTradeListResponseInner as AccountTradeListResponseInner,
    index$1_AutoCancelAllOpenOrdersRequest as AutoCancelAllOpenOrdersRequest,
    index$1_AutoCancelAllOpenOrdersResponse as AutoCancelAllOpenOrdersResponse,
    index$1_BadRequest as BadRequest,
    index$1_CancelAllOptionOrdersByUnderlyingRequest as CancelAllOptionOrdersByUnderlyingRequest,
    index$1_CancelAllOptionOrdersByUnderlyingResponse as CancelAllOptionOrdersByUnderlyingResponse,
    index$1_CancelAllOptionOrdersOnSpecificSymbolRequest as CancelAllOptionOrdersOnSpecificSymbolRequest,
    index$1_CancelAllOptionOrdersOnSpecificSymbolResponse as CancelAllOptionOrdersOnSpecificSymbolResponse,
    index$1_CancelBlockTradeOrderRequest as CancelBlockTradeOrderRequest,
    index$1_CancelMultipleOptionOrdersRequest as CancelMultipleOptionOrdersRequest,
    index$1_CancelMultipleOptionOrdersResponse as CancelMultipleOptionOrdersResponse,
    index$1_CancelMultipleOptionOrdersResponseInner as CancelMultipleOptionOrdersResponseInner,
    index$1_CancelOptionOrderRequest as CancelOptionOrderRequest,
    index$1_CancelOptionOrderResponse as CancelOptionOrderResponse,
    index$1_CheckServerTimeResponse as CheckServerTimeResponse,
    index$1_ExchangeInformationResponse as ExchangeInformationResponse,
    index$1_ExchangeInformationResponseOptionAssetsInner as ExchangeInformationResponseOptionAssetsInner,
    index$1_ExchangeInformationResponseOptionContractsInner as ExchangeInformationResponseOptionContractsInner,
    index$1_ExchangeInformationResponseOptionSymbolsInner as ExchangeInformationResponseOptionSymbolsInner,
    index$1_ExchangeInformationResponseOptionSymbolsInnerFiltersInner as ExchangeInformationResponseOptionSymbolsInnerFiltersInner,
    index$1_ExchangeInformationResponseRateLimitsInner as ExchangeInformationResponseRateLimitsInner,
    index$1_ExtendBlockTradeOrderRequest as ExtendBlockTradeOrderRequest,
    index$1_ExtendBlockTradeOrderResponse as ExtendBlockTradeOrderResponse,
    index$1_ExtendBlockTradeOrderResponseLegsInner as ExtendBlockTradeOrderResponseLegsInner,
    index$1_GetAutoCancelAllOpenOrdersRequest as GetAutoCancelAllOpenOrdersRequest,
    index$1_GetAutoCancelAllOpenOrdersResponse as GetAutoCancelAllOpenOrdersResponse,
    index$1_GetDownloadIdForOptionTransactionHistoryRequest as GetDownloadIdForOptionTransactionHistoryRequest,
    index$1_GetDownloadIdForOptionTransactionHistoryResponse as GetDownloadIdForOptionTransactionHistoryResponse,
    index$1_GetMarketMakerProtectionConfigRequest as GetMarketMakerProtectionConfigRequest,
    index$1_GetMarketMakerProtectionConfigResponse as GetMarketMakerProtectionConfigResponse,
    index$1_GetOptionTransactionHistoryDownloadLinkByIdRequest as GetOptionTransactionHistoryDownloadLinkByIdRequest,
    index$1_GetOptionTransactionHistoryDownloadLinkByIdResponse as GetOptionTransactionHistoryDownloadLinkByIdResponse,
    index$1_GetOptionTransactionHistoryDownloadLinkByIdResponse1 as GetOptionTransactionHistoryDownloadLinkByIdResponse1,
    index$1_GetOptionTransactionHistoryDownloadLinkByIdResponse2 as GetOptionTransactionHistoryDownloadLinkByIdResponse2,
    index$1_HistoricalExerciseRecordsRequest as HistoricalExerciseRecordsRequest,
    index$1_HistoricalExerciseRecordsResponse as HistoricalExerciseRecordsResponse,
    index$1_HistoricalExerciseRecordsResponseInner as HistoricalExerciseRecordsResponseInner,
    index$1_KlineCandlestickDataRequest as KlineCandlestickDataRequest,
    index$1_KlineCandlestickDataResponse as KlineCandlestickDataResponse,
    index$1_KlineCandlestickDataResponseInner as KlineCandlestickDataResponseInner,
    index$1_MarketDataApi as MarketDataApi,
    index$1_MarketDataApiInterface as MarketDataApiInterface,
    index$1_MarketMakerBlockTradeApi as MarketMakerBlockTradeApi,
    index$1_MarketMakerBlockTradeApiInterface as MarketMakerBlockTradeApiInterface,
    index$1_MarketMakerEndpointsApi as MarketMakerEndpointsApi,
    index$1_MarketMakerEndpointsApiInterface as MarketMakerEndpointsApiInterface,
    index$1_NewBlockTradeOrderRequest as NewBlockTradeOrderRequest,
    index$1_NewBlockTradeOrderResponse as NewBlockTradeOrderResponse,
    index$1_NewBlockTradeOrderSideEnum as NewBlockTradeOrderSideEnum,
    index$1_NewOrderNewOrderRespTypeEnum as NewOrderNewOrderRespTypeEnum,
    index$1_NewOrderRequest as NewOrderRequest,
    index$1_NewOrderResponse as NewOrderResponse,
    index$1_NewOrderResponse1 as NewOrderResponse1,
    index$1_NewOrderResponse2 as NewOrderResponse2,
    index$1_NewOrderSideEnum as NewOrderSideEnum,
    index$1_NewOrderTimeInForceEnum as NewOrderTimeInForceEnum,
    index$1_NewOrderTypeEnum as NewOrderTypeEnum,
    index$1_OldTradesLookupRequest as OldTradesLookupRequest,
    index$1_OldTradesLookupResponse as OldTradesLookupResponse,
    index$1_OldTradesLookupResponseInner as OldTradesLookupResponseInner,
    OpenInterestRequest$1 as OpenInterestRequest,
    OpenInterestResponse$1 as OpenInterestResponse,
    OpenInterestResponseInner$1 as OpenInterestResponseInner,
    index$1_OptionAccountInformationRequest as OptionAccountInformationRequest,
    index$1_OptionAccountInformationResponse as OptionAccountInformationResponse,
    index$1_OptionAccountInformationResponseAssetInner as OptionAccountInformationResponseAssetInner,
    index$1_OptionAccountInformationResponseGreekInner as OptionAccountInformationResponseGreekInner,
    index$1_OptionMarginAccountInformationRequest as OptionMarginAccountInformationRequest,
    index$1_OptionMarginAccountInformationResponse as OptionMarginAccountInformationResponse,
    index$1_OptionMarginAccountInformationResponseAssetInner as OptionMarginAccountInformationResponseAssetInner,
    index$1_OptionMarkPriceRequest as OptionMarkPriceRequest,
    index$1_OptionMarkPriceResponse as OptionMarkPriceResponse,
    index$1_OptionMarkPriceResponseInner as OptionMarkPriceResponseInner,
    index$1_OptionPositionInformationRequest as OptionPositionInformationRequest,
    index$1_OptionPositionInformationResponse as OptionPositionInformationResponse,
    index$1_OptionPositionInformationResponseInner as OptionPositionInformationResponseInner,
    index$1_OrderBookRequest as OrderBookRequest,
    index$1_OrderBookResponse as OrderBookResponse,
    index$1_OrderBookResponseAsksItem as OrderBookResponseAsksItem,
    index$1_OrderBookResponseBidsItem as OrderBookResponseBidsItem,
    index$1_PlaceMultipleOrdersOrdersParameterInner as PlaceMultipleOrdersOrdersParameterInner,
    index$1_PlaceMultipleOrdersOrdersParameterInnerNewOrderRespTypeEnum as PlaceMultipleOrdersOrdersParameterInnerNewOrderRespTypeEnum,
    index$1_PlaceMultipleOrdersOrdersParameterInnerSideEnum as PlaceMultipleOrdersOrdersParameterInnerSideEnum,
    index$1_PlaceMultipleOrdersOrdersParameterInnerTimeInForceEnum as PlaceMultipleOrdersOrdersParameterInnerTimeInForceEnum,
    index$1_PlaceMultipleOrdersOrdersParameterInnerTypeEnum as PlaceMultipleOrdersOrdersParameterInnerTypeEnum,
    index$1_PlaceMultipleOrdersRequest as PlaceMultipleOrdersRequest,
    index$1_PlaceMultipleOrdersResponse as PlaceMultipleOrdersResponse,
    index$1_PlaceMultipleOrdersResponseInner as PlaceMultipleOrdersResponseInner,
    index$1_QueryBlockTradeDetailsRequest as QueryBlockTradeDetailsRequest,
    index$1_QueryBlockTradeDetailsResponse as QueryBlockTradeDetailsResponse,
    index$1_QueryBlockTradeDetailsResponseLegsInner as QueryBlockTradeDetailsResponseLegsInner,
    index$1_QueryBlockTradeOrderRequest as QueryBlockTradeOrderRequest,
    index$1_QueryBlockTradeOrderResponse as QueryBlockTradeOrderResponse,
    index$1_QueryBlockTradeOrderResponseInner as QueryBlockTradeOrderResponseInner,
    index$1_QueryCurrentOpenOptionOrdersRequest as QueryCurrentOpenOptionOrdersRequest,
    index$1_QueryCurrentOpenOptionOrdersResponse as QueryCurrentOpenOptionOrdersResponse,
    index$1_QueryCurrentOpenOptionOrdersResponseInner as QueryCurrentOpenOptionOrdersResponseInner,
    index$1_QueryOptionOrderHistoryRequest as QueryOptionOrderHistoryRequest,
    index$1_QueryOptionOrderHistoryResponse as QueryOptionOrderHistoryResponse,
    index$1_QueryOptionOrderHistoryResponseInner as QueryOptionOrderHistoryResponseInner,
    index$1_QuerySingleOrderRequest as QuerySingleOrderRequest,
    index$1_QuerySingleOrderResponse as QuerySingleOrderResponse,
    index$1_RecentBlockTradesListRequest as RecentBlockTradesListRequest,
    index$1_RecentBlockTradesListResponse as RecentBlockTradesListResponse,
    index$1_RecentBlockTradesListResponseInner as RecentBlockTradesListResponseInner,
    index$1_RecentTradesListRequest as RecentTradesListRequest,
    index$1_RecentTradesListResponse as RecentTradesListResponse,
    index$1_RecentTradesListResponseInner as RecentTradesListResponseInner,
    index$1_ResetMarketMakerProtectionConfigRequest as ResetMarketMakerProtectionConfigRequest,
    index$1_ResetMarketMakerProtectionConfigResponse as ResetMarketMakerProtectionConfigResponse,
    index$1_RestAPI as RestAPI,
    index$1_SetAutoCancelAllOpenOrdersRequest as SetAutoCancelAllOpenOrdersRequest,
    index$1_SetAutoCancelAllOpenOrdersResponse as SetAutoCancelAllOpenOrdersResponse,
    index$1_SetMarketMakerProtectionConfigRequest as SetMarketMakerProtectionConfigRequest,
    index$1_SetMarketMakerProtectionConfigResponse as SetMarketMakerProtectionConfigResponse,
    index$1_StartUserDataStreamResponse as StartUserDataStreamResponse,
    index$1_SymbolPriceTickerRequest as SymbolPriceTickerRequest,
    index$1_SymbolPriceTickerResponse as SymbolPriceTickerResponse,
    index$1_Ticker24hrPriceChangeStatisticsRequest as Ticker24hrPriceChangeStatisticsRequest,
    index$1_Ticker24hrPriceChangeStatisticsResponse as Ticker24hrPriceChangeStatisticsResponse,
    index$1_Ticker24hrPriceChangeStatisticsResponseInner as Ticker24hrPriceChangeStatisticsResponseInner,
    index$1_TradeApi as TradeApi,
    index$1_TradeApiInterface as TradeApiInterface,
    index$1_UserDataStreamsApi as UserDataStreamsApi,
    index$1_UserDataStreamsApiInterface as UserDataStreamsApiInterface,
    index$1_UserExerciseRecordRequest as UserExerciseRecordRequest,
    index$1_UserExerciseRecordResponse as UserExerciseRecordResponse,
    index$1_UserExerciseRecordResponseInner as UserExerciseRecordResponseInner,
  };
}

/**
 * Binance Public Derivatives Trading Options WebSocket Market Streams
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 IndexPriceStreamsResponse
 */
interface IndexPriceStreamsResponse {
    /**
     *
     * @type {string}
     * @memberof IndexPriceStreamsResponse
     */
    e?: string;
    /**
     *
     * @type {number}
     * @memberof IndexPriceStreamsResponse
     */
    E?: number;
    /**
     *
     * @type {string}
     * @memberof IndexPriceStreamsResponse
     */
    s?: string;
    /**
     *
     * @type {string}
     * @memberof IndexPriceStreamsResponse
     */
    p?: string;
}

/**
 * Binance Public Derivatives Trading Options WebSocket Market Streams
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 KlineCandlestickStreamsResponseK
 */
interface KlineCandlestickStreamsResponseK {
    /**
     *
     * @type {number}
     * @memberof KlineCandlestickStreamsResponseK
     */
    t?: number;
    /**
     *
     * @type {number}
     * @memberof KlineCandlestickStreamsResponseK
     */
    T?: number;
    /**
     *
     * @type {string}
     * @memberof KlineCandlestickStreamsResponseK
     */
    s?: string;
    /**
     *
     * @type {string}
     * @memberof KlineCandlestickStreamsResponseK
     */
    i?: string;
    /**
     *
     * @type {number}
     * @memberof KlineCandlestickStreamsResponseK
     */
    F?: number;
    /**
     *
     * @type {number}
     * @memberof KlineCandlestickStreamsResponseK
     */
    L?: number;
    /**
     *
     * @type {string}
     * @memberof KlineCandlestickStreamsResponseK
     */
    o?: string;
    /**
     *
     * @type {string}
     * @memberof KlineCandlestickStreamsResponseK
     */
    c?: string;
    /**
     *
     * @type {string}
     * @memberof KlineCandlestickStreamsResponseK
     */
    h?: string;
    /**
     *
     * @type {string}
     * @memberof KlineCandlestickStreamsResponseK
     */
    l?: string;
    /**
     *
     * @type {string}
     * @memberof KlineCandlestickStreamsResponseK
     */
    v?: string;
    /**
     *
     * @type {number}
     * @memberof KlineCandlestickStreamsResponseK
     */
    n?: number;
    /**
     *
     * @type {boolean}
     * @memberof KlineCandlestickStreamsResponseK
     */
    x?: boolean;
    /**
     *
     * @type {string}
     * @memberof KlineCandlestickStreamsResponseK
     */
    q?: string;
    /**
     *
     * @type {string}
     * @memberof KlineCandlestickStreamsResponseK
     */
    V?: string;
    /**
     *
     * @type {string}
     * @memberof KlineCandlestickStreamsResponseK
     */
    Q?: string;
}

/**
 * Binance Public Derivatives Trading Options WebSocket Market Streams
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 KlineCandlestickStreamsResponse
 */
interface KlineCandlestickStreamsResponse {
    /**
     *
     * @type {string}
     * @memberof KlineCandlestickStreamsResponse
     */
    e?: string;
    /**
     *
     * @type {number}
     * @memberof KlineCandlestickStreamsResponse
     */
    E?: number;
    /**
     *
     * @type {string}
     * @memberof KlineCandlestickStreamsResponse
     */
    s?: string;
    /**
     *
     * @type {KlineCandlestickStreamsResponseK}
     * @memberof KlineCandlestickStreamsResponse
     */
    k?: KlineCandlestickStreamsResponseK;
}

/**
 * Binance Public Derivatives Trading Options WebSocket Market Streams
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 MarkPriceResponseInner
 */
interface MarkPriceResponseInner {
    /**
     *
     * @type {string}
     * @memberof MarkPriceResponseInner
     */
    e?: string;
    /**
     *
     * @type {number}
     * @memberof MarkPriceResponseInner
     */
    E?: number;
    /**
     *
     * @type {string}
     * @memberof MarkPriceResponseInner
     */
    s?: string;
    /**
     *
     * @type {string}
     * @memberof MarkPriceResponseInner
     */
    mp?: string;
}

/**
 * Binance Public Derivatives Trading Options WebSocket Market Streams
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 MarkPriceResponse
 */
interface MarkPriceResponse extends Array<MarkPriceResponseInner> {
}

/**
 * Binance Public Derivatives Trading Options WebSocket Market Streams
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 NewSymbolInfoResponse
 */
interface NewSymbolInfoResponse {
    /**
     *
     * @type {string}
     * @memberof NewSymbolInfoResponse
     */
    e?: string;
    /**
     *
     * @type {number}
     * @memberof NewSymbolInfoResponse
     */
    E?: number;
    /**
     *
     * @type {string}
     * @memberof NewSymbolInfoResponse
     */
    u?: string;
    /**
     *
     * @type {string}
     * @memberof NewSymbolInfoResponse
     */
    qa?: string;
    /**
     *
     * @type {string}
     * @memberof NewSymbolInfoResponse
     */
    s?: string;
    /**
     *
     * @type {number}
     * @memberof NewSymbolInfoResponse
     */
    unit?: number;
    /**
     *
     * @type {string}
     * @memberof NewSymbolInfoResponse
     */
    mq?: string;
    /**
     *
     * @type {string}
     * @memberof NewSymbolInfoResponse
     */
    d?: string;
    /**
     *
     * @type {string}
     * @memberof NewSymbolInfoResponse
     */
    sp?: string;
    /**
     *
     * @type {number}
     * @memberof NewSymbolInfoResponse
     */
    ed?: number;
}

/**
 * Binance Public Derivatives Trading Options WebSocket Market Streams
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 OpenInterestResponseInner
 */
interface OpenInterestResponseInner {
    /**
     *
     * @type {string}
     * @memberof OpenInterestResponseInner
     */
    e?: string;
    /**
     *
     * @type {number}
     * @memberof OpenInterestResponseInner
     */
    E?: number;
    /**
     *
     * @type {string}
     * @memberof OpenInterestResponseInner
     */
    s?: string;
    /**
     *
     * @type {string}
     * @memberof OpenInterestResponseInner
     */
    o?: string;
    /**
     *
     * @type {string}
     * @memberof OpenInterestResponseInner
     */
    h?: string;
}

/**
 * Binance Public Derivatives Trading Options WebSocket Market Streams
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 OpenInterestResponse
 */
interface OpenInterestResponse extends Array<OpenInterestResponseInner> {
}

/**
 * Binance Public Derivatives Trading Options WebSocket Market Streams
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 PartialBookDepthStreamsResponseAItem
 */
interface PartialBookDepthStreamsResponseAItem extends Array<string> {
}

/**
 * Binance Public Derivatives Trading Options WebSocket Market Streams
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 PartialBookDepthStreamsResponseBItem
 */
interface PartialBookDepthStreamsResponseBItem extends Array<string> {
}

/**
 * Binance Public Derivatives Trading Options WebSocket Market Streams
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 PartialBookDepthStreamsResponse
 */
interface PartialBookDepthStreamsResponse {
    /**
     *
     * @type {string}
     * @memberof PartialBookDepthStreamsResponse
     */
    e?: string;
    /**
     *
     * @type {number}
     * @memberof PartialBookDepthStreamsResponse
     */
    E?: number;
    /**
     *
     * @type {number}
     * @memberof PartialBookDepthStreamsResponse
     */
    T?: number;
    /**
     *
     * @type {string}
     * @memberof PartialBookDepthStreamsResponse
     */
    s?: string;
    /**
     *
     * @type {number}
     * @memberof PartialBookDepthStreamsResponse
     */
    u?: number;
    /**
     *
     * @type {number}
     * @memberof PartialBookDepthStreamsResponse
     */
    pu?: number;
    /**
     *
     * @type {Array<PartialBookDepthStreamsResponseBItem>}
     * @memberof PartialBookDepthStreamsResponse
     */
    b?: Array<PartialBookDepthStreamsResponseBItem>;
    /**
     *
     * @type {Array<PartialBookDepthStreamsResponseAItem>}
     * @memberof PartialBookDepthStreamsResponse
     */
    a?: Array<PartialBookDepthStreamsResponseAItem>;
}

/**
 * Binance Public Derivatives Trading Options WebSocket Market Streams
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 Ticker24HourByUnderlyingAssetAndExpirationDataResponseInner
 */
interface Ticker24HourByUnderlyingAssetAndExpirationDataResponseInner {
    /**
     *
     * @type {string}
     * @memberof Ticker24HourByUnderlyingAssetAndExpirationDataResponseInner
     */
    e?: string;
    /**
     *
     * @type {number}
     * @memberof Ticker24HourByUnderlyingAssetAndExpirationDataResponseInner
     */
    E?: number;
    /**
     *
     * @type {number}
     * @memberof Ticker24HourByUnderlyingAssetAndExpirationDataResponseInner
     */
    T?: number;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourByUnderlyingAssetAndExpirationDataResponseInner
     */
    s?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourByUnderlyingAssetAndExpirationDataResponseInner
     */
    o?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourByUnderlyingAssetAndExpirationDataResponseInner
     */
    h?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourByUnderlyingAssetAndExpirationDataResponseInner
     */
    l?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourByUnderlyingAssetAndExpirationDataResponseInner
     */
    c?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourByUnderlyingAssetAndExpirationDataResponseInner
     */
    V?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourByUnderlyingAssetAndExpirationDataResponseInner
     */
    A?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourByUnderlyingAssetAndExpirationDataResponseInner
     */
    P?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourByUnderlyingAssetAndExpirationDataResponseInner
     */
    p?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourByUnderlyingAssetAndExpirationDataResponseInner
     */
    Q?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourByUnderlyingAssetAndExpirationDataResponseInner
     */
    F?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourByUnderlyingAssetAndExpirationDataResponseInner
     */
    L?: string;
    /**
     *
     * @type {number}
     * @memberof Ticker24HourByUnderlyingAssetAndExpirationDataResponseInner
     */
    n?: number;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourByUnderlyingAssetAndExpirationDataResponseInner
     */
    bo?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourByUnderlyingAssetAndExpirationDataResponseInner
     */
    ao?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourByUnderlyingAssetAndExpirationDataResponseInner
     */
    bq?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourByUnderlyingAssetAndExpirationDataResponseInner
     */
    aq?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourByUnderlyingAssetAndExpirationDataResponseInner
     */
    b?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourByUnderlyingAssetAndExpirationDataResponseInner
     */
    a?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourByUnderlyingAssetAndExpirationDataResponseInner
     */
    d?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourByUnderlyingAssetAndExpirationDataResponseInner
     */
    t?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourByUnderlyingAssetAndExpirationDataResponseInner
     */
    g?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourByUnderlyingAssetAndExpirationDataResponseInner
     */
    v?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourByUnderlyingAssetAndExpirationDataResponseInner
     */
    vo?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourByUnderlyingAssetAndExpirationDataResponseInner
     */
    mp?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourByUnderlyingAssetAndExpirationDataResponseInner
     */
    hl?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourByUnderlyingAssetAndExpirationDataResponseInner
     */
    ll?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourByUnderlyingAssetAndExpirationDataResponseInner
     */
    eep?: string;
}

/**
 * Binance Public Derivatives Trading Options WebSocket Market Streams
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 Ticker24HourByUnderlyingAssetAndExpirationDataResponse
 */
interface Ticker24HourByUnderlyingAssetAndExpirationDataResponse extends Array<Ticker24HourByUnderlyingAssetAndExpirationDataResponseInner> {
}

/**
 * Binance Public Derivatives Trading Options WebSocket Market Streams
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 Ticker24HourResponse
 */
interface Ticker24HourResponse {
    /**
     *
     * @type {string}
     * @memberof Ticker24HourResponse
     */
    e?: string;
    /**
     *
     * @type {number}
     * @memberof Ticker24HourResponse
     */
    E?: number;
    /**
     *
     * @type {number}
     * @memberof Ticker24HourResponse
     */
    T?: number;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourResponse
     */
    s?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourResponse
     */
    o?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourResponse
     */
    h?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourResponse
     */
    l?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourResponse
     */
    c?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourResponse
     */
    V?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourResponse
     */
    A?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourResponse
     */
    P?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourResponse
     */
    p?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourResponse
     */
    Q?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourResponse
     */
    F?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourResponse
     */
    L?: string;
    /**
     *
     * @type {number}
     * @memberof Ticker24HourResponse
     */
    n?: number;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourResponse
     */
    bo?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourResponse
     */
    ao?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourResponse
     */
    bq?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourResponse
     */
    aq?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourResponse
     */
    b?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourResponse
     */
    a?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourResponse
     */
    d?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourResponse
     */
    t?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourResponse
     */
    g?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourResponse
     */
    v?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourResponse
     */
    vo?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourResponse
     */
    mp?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourResponse
     */
    hl?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourResponse
     */
    ll?: string;
    /**
     *
     * @type {string}
     * @memberof Ticker24HourResponse
     */
    eep?: string;
}

/**
 * Binance Public Derivatives Trading Options WebSocket Market Streams
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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 TradeStreamsResponse
 */
interface TradeStreamsResponse {
    /**
     *
     * @type {string}
     * @memberof TradeStreamsResponse
     */
    e?: string;
    /**
     *
     * @type {number}
     * @memberof TradeStreamsResponse
     */
    E?: number;
    /**
     *
     * @type {string}
     * @memberof TradeStreamsResponse
     */
    s?: string;
    /**
     *
     * @type {number}
     * @memberof TradeStreamsResponse
     */
    t?: number;
    /**
     *
     * @type {string}
     * @memberof TradeStreamsResponse
     */
    p?: string;
    /**
     *
     * @type {string}
     * @memberof TradeStreamsResponse
     */
    q?: string;
    /**
     *
     * @type {number}
     * @memberof TradeStreamsResponse
     */
    b?: number;
    /**
     *
     * @type {number}
     * @memberof TradeStreamsResponse
     */
    a?: number;
    /**
     *
     * @type {number}
     * @memberof TradeStreamsResponse
     */
    T?: number;
    /**
     *
     * @type {string}
     * @memberof TradeStreamsResponse
     */
    S?: string;
    /**
     *
     * @type {string}
     * @memberof TradeStreamsResponse
     */
    X?: string;
}

/**
 * Binance Public Derivatives Trading Options WebSocket Market Streams
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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.
 */

/**
 * WebsocketMarketStreamsApi - interface
 * @interface WebsocketMarketStreamsApi
 */
interface WebsocketMarketStreamsApiInterface {
    /**
     * Underlying(e.g ETHUSDT) index stream.
     *
     * Update Speed: 1000ms
     *
     * @summary Index Price Streams
     * @param {IndexPriceStreamsRequest} requestParameters Request parameters.
     *
     * @returns {WebsocketStream<IndexPriceStreamsResponse>}
     * @throws {RequiredError}
     * @memberof WebsocketMarketStreamsApiInterface
     */
    indexPriceStreams(requestParameters: IndexPriceStreamsRequest): WebsocketStream<IndexPriceStreamsResponse>;
    /**
     * The Kline/Candlestick Stream push updates to the current klines/candlestick every 1000 milliseconds (if existing).
     *
     * Update Speed: 1000ms
     *
     * @summary Kline/Candlestick Streams
     * @param {KlineCandlestickStreamsRequest} requestParameters Request parameters.
     *
     * @returns {WebsocketStream<KlineCandlestickStreamsResponse>}
     * @throws {RequiredError}
     * @memberof WebsocketMarketStreamsApiInterface
     */
    klineCandlestickStreams(requestParameters: KlineCandlestickStreamsRequest): WebsocketStream<KlineCandlestickStreamsResponse>;
    /**
     * The mark price for all option symbols on specific underlying asset. E.g.[ETH@markPrice](wss://nbstream.binance.com/eoptions/stream?streams=ETH@markPrice)
     *
     * Update Speed: 1000ms
     *
     * @summary Mark Price
     * @param {MarkPriceRequest} requestParameters Request parameters.
     *
     * @returns {WebsocketStream<MarkPriceResponse>}
     * @throws {RequiredError}
     * @memberof WebsocketMarketStreamsApiInterface
     */
    markPrice(requestParameters: MarkPriceRequest): WebsocketStream<MarkPriceResponse>;
    /**
     * New symbol listing stream.
     *
     * Update Speed: 50ms
     *
     * @summary New Symbol Info
     * @param {NewSymbolInfoRequest} requestParameters Request parameters.
     *
     * @returns {WebsocketStream<NewSymbolInfoResponse>}
     * @throws {RequiredError}
     * @memberof WebsocketMarketStreamsApiInterface
     */
    newSymbolInfo(requestParameters?: NewSymbolInfoRequest): WebsocketStream<NewSymbolInfoResponse>;
    /**
     * Option open interest for specific underlying asset on specific expiration date. E.g.[ETH@openInterest@221125](wss://nbstream.binance.com/eoptions/stream?streams=ETH@openInterest@221125)
     *
     * Update Speed: 60s
     *
     * @summary Open Interest
     * @param {OpenInterestRequest} requestParameters Request parameters.
     *
     * @returns {WebsocketStream<OpenInterestResponse>}
     * @throws {RequiredError}
     * @memberof WebsocketMarketStreamsApiInterface
     */
    openInterest(requestParameters: OpenInterestRequest): WebsocketStream<OpenInterestResponse>;
    /**
     * Top **<levels\>** bids and asks, Valid levels are **<levels\>** are 10, 20, 50, 100.
     *
     * Update Speed: 100ms or 1000ms, 500ms(default when update speed isn't used)
     *
     * @summary Partial Book Depth Streams
     * @param {PartialBookDepthStreamsRequest} requestParameters Request parameters.
     *
     * @returns {WebsocketStream<PartialBookDepthStreamsResponse>}
     * @throws {RequiredError}
     * @memberof WebsocketMarketStreamsApiInterface
     */
    partialBookDepthStreams(requestParameters: PartialBookDepthStreamsRequest): WebsocketStream<PartialBookDepthStreamsResponse>;
    /**
     * 24hr ticker info for all symbols. Only symbols whose ticker info changed will be sent.
     *
     * Update Speed: 1000ms
     *
     * @summary 24-hour TICKER
     * @param {Ticker24HourRequest} requestParameters Request parameters.
     *
     * @returns {WebsocketStream<Ticker24HourResponse>}
     * @throws {RequiredError}
     * @memberof WebsocketMarketStreamsApiInterface
     */
    ticker24Hour(requestParameters: Ticker24HourRequest): WebsocketStream<Ticker24HourResponse>;
    /**
     * 24hr ticker info by underlying asset and expiration date. E.g.[ETH@ticker@220930](wss://nbstream.binance.com/eoptions/stream?streams=ETH@ticker@220930)
     *
     * Update Speed: 1000ms
     *
     * @summary 24-hour TICKER by underlying asset and expiration data
     * @param {Ticker24HourByUnderlyingAssetAndExpirationDataRequest} requestParameters Request parameters.
     *
     * @returns {WebsocketStream<Ticker24HourByUnderlyingAssetAndExpirationDataResponse>}
     * @throws {RequiredError}
     * @memberof WebsocketMarketStreamsApiInterface
     */
    ticker24HourByUnderlyingAssetAndExpirationData(requestParameters: Ticker24HourByUnderlyingAssetAndExpirationDataRequest): WebsocketStream<Ticker24HourByUnderlyingAssetAndExpirationDataResponse>;
    /**
     * The Trade Streams push raw trade information for specific symbol or underlying asset. E.g.[ETH@trade](wss://nbstream.binance.com/eoptions/stream?streams=ETH@trade)
     *
     * Update Speed: 50ms
     *
     * @summary Trade Streams
     * @param {TradeStreamsRequest} requestParameters Request parameters.
     *
     * @returns {WebsocketStream<TradeStreamsResponse>}
     * @throws {RequiredError}
     * @memberof WebsocketMarketStreamsApiInterface
     */
    tradeStreams(requestParameters: TradeStreamsRequest): WebsocketStream<TradeStreamsResponse>;
}
/**
 * Request parameters for indexPriceStreams operation in WebsocketMarketStreamsApi.
 * @interface IndexPriceStreamsRequest
 */
interface IndexPriceStreamsRequest {
    /**
     * The symbol parameter
     * @type {string}
     * @memberof WebsocketMarketStreamsApiIndexPriceStreams
     */
    readonly symbol: string;
    /**
     * Unique WebSocket request ID.
     * @type {string}
     * @memberof WebsocketMarketStreamsApiIndexPriceStreams
     */
    readonly id?: string;
}
/**
 * Request parameters for klineCandlestickStreams operation in WebsocketMarketStreamsApi.
 * @interface KlineCandlestickStreamsRequest
 */
interface KlineCandlestickStreamsRequest {
    /**
     * The symbol parameter
     * @type {string}
     * @memberof WebsocketMarketStreamsApiKlineCandlestickStreams
     */
    readonly symbol: string;
    /**
     * The interval parameter
     * @type {string}
     * @memberof WebsocketMarketStreamsApiKlineCandlestickStreams
     */
    readonly interval: string;
    /**
     * Unique WebSocket request ID.
     * @type {string}
     * @memberof WebsocketMarketStreamsApiKlineCandlestickStreams
     */
    readonly id?: string;
}
/**
 * Request parameters for markPrice operation in WebsocketMarketStreamsApi.
 * @interface MarkPriceRequest
 */
interface MarkPriceRequest {
    /**
     * The underlyingAsset parameter
     * @type {string}
     * @memberof WebsocketMarketStreamsApiMarkPrice
     */
    readonly underlyingAsset: string;
    /**
     * Unique WebSocket request ID.
     * @type {string}
     * @memberof WebsocketMarketStreamsApiMarkPrice
     */
    readonly id?: string;
}
/**
 * Request parameters for newSymbolInfo operation in WebsocketMarketStreamsApi.
 * @interface NewSymbolInfoRequest
 */
interface NewSymbolInfoRequest {
    /**
     * Unique WebSocket request ID.
     * @type {string}
     * @memberof WebsocketMarketStreamsApiNewSymbolInfo
     */
    readonly id?: string;
}
/**
 * Request parameters for openInterest operation in WebsocketMarketStreamsApi.
 * @interface OpenInterestRequest
 */
interface OpenInterestRequest {
    /**
     * The underlyingAsset parameter
     * @type {string}
     * @memberof WebsocketMarketStreamsApiOpenInterest
     */
    readonly underlyingAsset: string;
    /**
     * The expirationDate parameter
     * @type {string}
     * @memberof WebsocketMarketStreamsApiOpenInterest
     */
    readonly expirationDate: string;
    /**
     * Unique WebSocket request ID.
     * @type {string}
     * @memberof WebsocketMarketStreamsApiOpenInterest
     */
    readonly id?: string;
}
/**
 * Request parameters for partialBookDepthStreams operation in WebsocketMarketStreamsApi.
 * @interface PartialBookDepthStreamsRequest
 */
interface PartialBookDepthStreamsRequest {
    /**
     * The symbol parameter
     * @type {string}
     * @memberof WebsocketMarketStreamsApiPartialBookDepthStreams
     */
    readonly symbol: string;
    /**
     * The levels parameter
     * @type {number}
     * @memberof WebsocketMarketStreamsApiPartialBookDepthStreams
     */
    readonly levels: number;
    /**
     * Unique WebSocket request ID.
     * @type {string}
     * @memberof WebsocketMarketStreamsApiPartialBookDepthStreams
     */
    readonly id?: string;
    /**
     * WebSocket stream update speed
     * @type {string}
     * @memberof WebsocketMarketStreamsApiPartialBookDepthStreams
     */
    readonly updateSpeed?: string;
}
/**
 * Request parameters for ticker24Hour operation in WebsocketMarketStreamsApi.
 * @interface Ticker24HourRequest
 */
interface Ticker24HourRequest {
    /**
     * The symbol parameter
     * @type {string}
     * @memberof WebsocketMarketStreamsApiTicker24Hour
     */
    readonly symbol: string;
    /**
     * Unique WebSocket request ID.
     * @type {string}
     * @memberof WebsocketMarketStreamsApiTicker24Hour
     */
    readonly id?: string;
}
/**
 * Request parameters for ticker24HourByUnderlyingAssetAndExpirationData operation in WebsocketMarketStreamsApi.
 * @interface Ticker24HourByUnderlyingAssetAndExpirationDataRequest
 */
interface Ticker24HourByUnderlyingAssetAndExpirationDataRequest {
    /**
     * The underlyingAsset parameter
     * @type {string}
     * @memberof WebsocketMarketStreamsApiTicker24HourByUnderlyingAssetAndExpirationData
     */
    readonly underlyingAsset: string;
    /**
     * The expirationDate parameter
     * @type {string}
     * @memberof WebsocketMarketStreamsApiTicker24HourByUnderlyingAssetAndExpirationData
     */
    readonly expirationDate: string;
    /**
     * Unique WebSocket request ID.
     * @type {string}
     * @memberof WebsocketMarketStreamsApiTicker24HourByUnderlyingAssetAndExpirationData
     */
    readonly id?: string;
}
/**
 * Request parameters for tradeStreams operation in WebsocketMarketStreamsApi.
 * @interface TradeStreamsRequest
 */
interface TradeStreamsRequest {
    /**
     * The symbol parameter
     * @type {string}
     * @memberof WebsocketMarketStreamsApiTradeStreams
     */
    readonly symbol: string;
    /**
     * Unique WebSocket request ID.
     * @type {string}
     * @memberof WebsocketMarketStreamsApiTradeStreams
     */
    readonly id?: string;
}
/**
 * WebsocketMarketStreamsApi - interface
 * @class WebsocketMarketStreamsApi
 * @extends {WebsocketStreamsBase}
 */
declare class WebsocketMarketStreamsApi implements WebsocketMarketStreamsApiInterface {
    private readonly websocketBase;
    private localVarParamCreator;
    constructor(websocketBase: WebsocketStreamsBase);
    /**
     * Underlying(e.g ETHUSDT) index stream.
     *
     * Update Speed: 1000ms
     *
     * @summary Index Price Streams
     * @param {IndexPriceStreamsRequest} requestParameters Request parameters.
     * @returns {WebsocketStream<IndexPriceStreamsResponse>}
     * @throws {RequiredError}
     * @memberof WebsocketMarketStreamsApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/websocket-market-streams/Index-Price-Streams Binance API Documentation}
     */
    indexPriceStreams(requestParameters: IndexPriceStreamsRequest): WebsocketStream<IndexPriceStreamsResponse>;
    /**
     * The Kline/Candlestick Stream push updates to the current klines/candlestick every 1000 milliseconds (if existing).
     *
     * Update Speed: 1000ms
     *
     * @summary Kline/Candlestick Streams
     * @param {KlineCandlestickStreamsRequest} requestParameters Request parameters.
     * @returns {WebsocketStream<KlineCandlestickStreamsResponse>}
     * @throws {RequiredError}
     * @memberof WebsocketMarketStreamsApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/websocket-market-streams/Kline-Candlestick-Streams Binance API Documentation}
     */
    klineCandlestickStreams(requestParameters: KlineCandlestickStreamsRequest): WebsocketStream<KlineCandlestickStreamsResponse>;
    /**
     * The mark price for all option symbols on specific underlying asset. E.g.[ETH@markPrice](wss://nbstream.binance.com/eoptions/stream?streams=ETH@markPrice)
     *
     * Update Speed: 1000ms
     *
     * @summary Mark Price
     * @param {MarkPriceRequest} requestParameters Request parameters.
     * @returns {WebsocketStream<MarkPriceResponse>}
     * @throws {RequiredError}
     * @memberof WebsocketMarketStreamsApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/websocket-market-streams/Mark-Price Binance API Documentation}
     */
    markPrice(requestParameters: MarkPriceRequest): WebsocketStream<MarkPriceResponse>;
    /**
     * New symbol listing stream.
     *
     * Update Speed: 50ms
     *
     * @summary New Symbol Info
     * @param {NewSymbolInfoRequest} requestParameters Request parameters.
     * @returns {WebsocketStream<NewSymbolInfoResponse>}
     * @throws {RequiredError}
     * @memberof WebsocketMarketStreamsApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/websocket-market-streams/New-Symbol-Info Binance API Documentation}
     */
    newSymbolInfo(requestParameters?: NewSymbolInfoRequest): WebsocketStream<NewSymbolInfoResponse>;
    /**
     * Option open interest for specific underlying asset on specific expiration date. E.g.[ETH@openInterest@221125](wss://nbstream.binance.com/eoptions/stream?streams=ETH@openInterest@221125)
     *
     * Update Speed: 60s
     *
     * @summary Open Interest
     * @param {OpenInterestRequest} requestParameters Request parameters.
     * @returns {WebsocketStream<OpenInterestResponse>}
     * @throws {RequiredError}
     * @memberof WebsocketMarketStreamsApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/websocket-market-streams/Open-Interest Binance API Documentation}
     */
    openInterest(requestParameters: OpenInterestRequest): WebsocketStream<OpenInterestResponse>;
    /**
     * Top **<levels\>** bids and asks, Valid levels are **<levels\>** are 10, 20, 50, 100.
     *
     * Update Speed: 100ms or 1000ms, 500ms(default when update speed isn't used)
     *
     * @summary Partial Book Depth Streams
     * @param {PartialBookDepthStreamsRequest} requestParameters Request parameters.
     * @returns {WebsocketStream<PartialBookDepthStreamsResponse>}
     * @throws {RequiredError}
     * @memberof WebsocketMarketStreamsApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/websocket-market-streams/Partial-Book-Depth-Streams Binance API Documentation}
     */
    partialBookDepthStreams(requestParameters: PartialBookDepthStreamsRequest): WebsocketStream<PartialBookDepthStreamsResponse>;
    /**
     * 24hr ticker info for all symbols. Only symbols whose ticker info changed will be sent.
     *
     * Update Speed: 1000ms
     *
     * @summary 24-hour TICKER
     * @param {Ticker24HourRequest} requestParameters Request parameters.
     * @returns {WebsocketStream<Ticker24HourResponse>}
     * @throws {RequiredError}
     * @memberof WebsocketMarketStreamsApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/websocket-market-streams/24-hour-TICKER Binance API Documentation}
     */
    ticker24Hour(requestParameters: Ticker24HourRequest): WebsocketStream<Ticker24HourResponse>;
    /**
     * 24hr ticker info by underlying asset and expiration date. E.g.[ETH@ticker@220930](wss://nbstream.binance.com/eoptions/stream?streams=ETH@ticker@220930)
     *
     * Update Speed: 1000ms
     *
     * @summary 24-hour TICKER by underlying asset and expiration data
     * @param {Ticker24HourByUnderlyingAssetAndExpirationDataRequest} requestParameters Request parameters.
     * @returns {WebsocketStream<Ticker24HourByUnderlyingAssetAndExpirationDataResponse>}
     * @throws {RequiredError}
     * @memberof WebsocketMarketStreamsApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/websocket-market-streams/24-hour-TICKER-by-underlying-asset-and-expiration-data Binance API Documentation}
     */
    ticker24HourByUnderlyingAssetAndExpirationData(requestParameters: Ticker24HourByUnderlyingAssetAndExpirationDataRequest): WebsocketStream<Ticker24HourByUnderlyingAssetAndExpirationDataResponse>;
    /**
     * The Trade Streams push raw trade information for specific symbol or underlying asset. E.g.[ETH@trade](wss://nbstream.binance.com/eoptions/stream?streams=ETH@trade)
     *
     * Update Speed: 50ms
     *
     * @summary Trade Streams
     * @param {TradeStreamsRequest} requestParameters Request parameters.
     * @returns {WebsocketStream<TradeStreamsResponse>}
     * @throws {RequiredError}
     * @memberof WebsocketMarketStreamsApi
     * @see {@link https://developers.binance.com/docs/derivatives/option/websocket-market-streams/Trade-Streams Binance API Documentation}
     */
    tradeStreams(requestParameters: TradeStreamsRequest): WebsocketStream<TradeStreamsResponse>;
}

/**
 * Binance Public Derivatives Trading Options WebSocket Market Streams
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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.
 */

declare class WebsocketStreamsConnection {
    private websocketBase;
    private websocketMarketStreamsApi;
    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<object>;
    /**
     * Underlying(e.g ETHUSDT) index stream.
     *
     * Update Speed: 1000ms
     *
     * @summary Index Price Streams
     * @param {IndexPriceStreamsRequest} requestParameters Request parameters.
     * @returns {WebsocketStream<IndexPriceStreamsResponse>}
     * @throws {RequiredError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/websocket-market-streams/Index-Price-Streams Binance API Documentation}
     */
    indexPriceStreams(requestParameters: IndexPriceStreamsRequest): WebsocketStream<IndexPriceStreamsResponse>;
    /**
     * The Kline/Candlestick Stream push updates to the current klines/candlestick every 1000 milliseconds (if existing).
     *
     * Update Speed: 1000ms
     *
     * @summary Kline/Candlestick Streams
     * @param {KlineCandlestickStreamsRequest} requestParameters Request parameters.
     * @returns {WebsocketStream<KlineCandlestickStreamsResponse>}
     * @throws {RequiredError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/websocket-market-streams/Kline-Candlestick-Streams Binance API Documentation}
     */
    klineCandlestickStreams(requestParameters: KlineCandlestickStreamsRequest): WebsocketStream<KlineCandlestickStreamsResponse>;
    /**
     * The mark price for all option symbols on specific underlying asset. E.g.[ETH@markPrice](wss://nbstream.binance.com/eoptions/stream?streams=ETH@markPrice)
     *
     * Update Speed: 1000ms
     *
     * @summary Mark Price
     * @param {MarkPriceRequest} requestParameters Request parameters.
     * @returns {WebsocketStream<MarkPriceResponse>}
     * @throws {RequiredError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/websocket-market-streams/Mark-Price Binance API Documentation}
     */
    markPrice(requestParameters: MarkPriceRequest): WebsocketStream<MarkPriceResponse>;
    /**
     * New symbol listing stream.
     *
     * Update Speed: 50ms
     *
     * @summary New Symbol Info
     * @param {NewSymbolInfoRequest} requestParameters Request parameters.
     * @returns {WebsocketStream<NewSymbolInfoResponse>}
     * @throws {RequiredError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/websocket-market-streams/New-Symbol-Info Binance API Documentation}
     */
    newSymbolInfo(requestParameters?: NewSymbolInfoRequest): WebsocketStream<NewSymbolInfoResponse>;
    /**
     * Option open interest for specific underlying asset on specific expiration date. E.g.[ETH@openInterest@221125](wss://nbstream.binance.com/eoptions/stream?streams=ETH@openInterest@221125)
     *
     * Update Speed: 60s
     *
     * @summary Open Interest
     * @param {OpenInterestRequest} requestParameters Request parameters.
     * @returns {WebsocketStream<OpenInterestResponse>}
     * @throws {RequiredError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/websocket-market-streams/Open-Interest Binance API Documentation}
     */
    openInterest(requestParameters: OpenInterestRequest): WebsocketStream<OpenInterestResponse>;
    /**
     * Top **<levels\>** bids and asks, Valid levels are **<levels\>** are 10, 20, 50, 100.
     *
     * Update Speed: 100ms or 1000ms, 500ms(default when update speed isn't used)
     *
     * @summary Partial Book Depth Streams
     * @param {PartialBookDepthStreamsRequest} requestParameters Request parameters.
     * @returns {WebsocketStream<PartialBookDepthStreamsResponse>}
     * @throws {RequiredError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/websocket-market-streams/Partial-Book-Depth-Streams Binance API Documentation}
     */
    partialBookDepthStreams(requestParameters: PartialBookDepthStreamsRequest): WebsocketStream<PartialBookDepthStreamsResponse>;
    /**
     * 24hr ticker info for all symbols. Only symbols whose ticker info changed will be sent.
     *
     * Update Speed: 1000ms
     *
     * @summary 24-hour TICKER
     * @param {Ticker24HourRequest} requestParameters Request parameters.
     * @returns {WebsocketStream<Ticker24HourResponse>}
     * @throws {RequiredError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/websocket-market-streams/24-hour-TICKER Binance API Documentation}
     */
    ticker24Hour(requestParameters: Ticker24HourRequest): WebsocketStream<Ticker24HourResponse>;
    /**
     * 24hr ticker info by underlying asset and expiration date. E.g.[ETH@ticker@220930](wss://nbstream.binance.com/eoptions/stream?streams=ETH@ticker@220930)
     *
     * Update Speed: 1000ms
     *
     * @summary 24-hour TICKER by underlying asset and expiration data
     * @param {Ticker24HourByUnderlyingAssetAndExpirationDataRequest} requestParameters Request parameters.
     * @returns {WebsocketStream<Ticker24HourByUnderlyingAssetAndExpirationDataResponse>}
     * @throws {RequiredError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/websocket-market-streams/24-hour-TICKER-by-underlying-asset-and-expiration-data Binance API Documentation}
     */
    ticker24HourByUnderlyingAssetAndExpirationData(requestParameters: Ticker24HourByUnderlyingAssetAndExpirationDataRequest): WebsocketStream<Ticker24HourByUnderlyingAssetAndExpirationDataResponse>;
    /**
     * The Trade Streams push raw trade information for specific symbol or underlying asset. E.g.[ETH@trade](wss://nbstream.binance.com/eoptions/stream?streams=ETH@trade)
     *
     * Update Speed: 50ms
     *
     * @summary Trade Streams
     * @param {TradeStreamsRequest} requestParameters Request parameters.
     * @returns {WebsocketStream<TradeStreamsResponse>}
     * @throws {RequiredError}
     * @see {@link https://developers.binance.com/docs/derivatives/option/websocket-market-streams/Trade-Streams Binance API Documentation}
     */
    tradeStreams(requestParameters: TradeStreamsRequest): WebsocketStream<TradeStreamsResponse>;
}

/**
 * Binance Public Derivatives Trading Options WebSocket Market Streams
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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.
 */

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>;
}

/**
 * Binance Public Derivatives Trading Options WebSocket Market Streams
 *
 * OpenAPI Specification for the Binance Public Derivatives Trading Options 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.
 */

type index_IndexPriceStreamsRequest = IndexPriceStreamsRequest;
type index_IndexPriceStreamsResponse = IndexPriceStreamsResponse;
type index_KlineCandlestickStreamsRequest = KlineCandlestickStreamsRequest;
type index_KlineCandlestickStreamsResponse = KlineCandlestickStreamsResponse;
type index_KlineCandlestickStreamsResponseK = KlineCandlestickStreamsResponseK;
type index_MarkPriceRequest = MarkPriceRequest;
type index_MarkPriceResponse = MarkPriceResponse;
type index_MarkPriceResponseInner = MarkPriceResponseInner;
type index_NewSymbolInfoRequest = NewSymbolInfoRequest;
type index_NewSymbolInfoResponse = NewSymbolInfoResponse;
type index_OpenInterestRequest = OpenInterestRequest;
type index_OpenInterestResponse = OpenInterestResponse;
type index_OpenInterestResponseInner = OpenInterestResponseInner;
type index_PartialBookDepthStreamsRequest = PartialBookDepthStreamsRequest;
type index_PartialBookDepthStreamsResponse = PartialBookDepthStreamsResponse;
type index_PartialBookDepthStreamsResponseAItem = PartialBookDepthStreamsResponseAItem;
type index_PartialBookDepthStreamsResponseBItem = PartialBookDepthStreamsResponseBItem;
type index_Ticker24HourByUnderlyingAssetAndExpirationDataRequest = Ticker24HourByUnderlyingAssetAndExpirationDataRequest;
type index_Ticker24HourByUnderlyingAssetAndExpirationDataResponse = Ticker24HourByUnderlyingAssetAndExpirationDataResponse;
type index_Ticker24HourByUnderlyingAssetAndExpirationDataResponseInner = Ticker24HourByUnderlyingAssetAndExpirationDataResponseInner;
type index_Ticker24HourRequest = Ticker24HourRequest;
type index_Ticker24HourResponse = Ticker24HourResponse;
type index_TradeStreamsRequest = TradeStreamsRequest;
type index_TradeStreamsResponse = TradeStreamsResponse;
type index_WebsocketMarketStreamsApi = WebsocketMarketStreamsApi;
declare const index_WebsocketMarketStreamsApi: typeof WebsocketMarketStreamsApi;
type index_WebsocketMarketStreamsApiInterface = WebsocketMarketStreamsApiInterface;
type index_WebsocketStreams = WebsocketStreams;
declare const index_WebsocketStreams: typeof WebsocketStreams;
type index_WebsocketStreamsConnection = WebsocketStreamsConnection;
declare const index_WebsocketStreamsConnection: typeof WebsocketStreamsConnection;
declare namespace index {
  export {
    index_IndexPriceStreamsRequest as IndexPriceStreamsRequest,
    index_IndexPriceStreamsResponse as IndexPriceStreamsResponse,
    index_KlineCandlestickStreamsRequest as KlineCandlestickStreamsRequest,
    index_KlineCandlestickStreamsResponse as KlineCandlestickStreamsResponse,
    index_KlineCandlestickStreamsResponseK as KlineCandlestickStreamsResponseK,
    index_MarkPriceRequest as MarkPriceRequest,
    index_MarkPriceResponse as MarkPriceResponse,
    index_MarkPriceResponseInner as MarkPriceResponseInner,
    index_NewSymbolInfoRequest as NewSymbolInfoRequest,
    index_NewSymbolInfoResponse as NewSymbolInfoResponse,
    index_OpenInterestRequest as OpenInterestRequest,
    index_OpenInterestResponse as OpenInterestResponse,
    index_OpenInterestResponseInner as OpenInterestResponseInner,
    index_PartialBookDepthStreamsRequest as PartialBookDepthStreamsRequest,
    index_PartialBookDepthStreamsResponse as PartialBookDepthStreamsResponse,
    index_PartialBookDepthStreamsResponseAItem as PartialBookDepthStreamsResponseAItem,
    index_PartialBookDepthStreamsResponseBItem as PartialBookDepthStreamsResponseBItem,
    index_Ticker24HourByUnderlyingAssetAndExpirationDataRequest as Ticker24HourByUnderlyingAssetAndExpirationDataRequest,
    index_Ticker24HourByUnderlyingAssetAndExpirationDataResponse as Ticker24HourByUnderlyingAssetAndExpirationDataResponse,
    index_Ticker24HourByUnderlyingAssetAndExpirationDataResponseInner as Ticker24HourByUnderlyingAssetAndExpirationDataResponseInner,
    index_Ticker24HourRequest as Ticker24HourRequest,
    index_Ticker24HourResponse as Ticker24HourResponse,
    index_TradeStreamsRequest as TradeStreamsRequest,
    index_TradeStreamsResponse as TradeStreamsResponse,
    index_WebsocketMarketStreamsApi as WebsocketMarketStreamsApi,
    index_WebsocketMarketStreamsApiInterface as WebsocketMarketStreamsApiInterface,
    index_WebsocketStreams as WebsocketStreams,
    index_WebsocketStreamsConnection as WebsocketStreamsConnection,
  };
}

interface ConfigurationDerivativesTradingOptions {
    configurationRestAPI?: ConfigurationRestAPI;
    configurationWebsocketStreams?: ConfigurationWebsocketStreams;
}
declare class DerivativesTradingOptions {
    restAPI: RestAPI;
    websocketStreams: WebsocketStreams;
    constructor(config: ConfigurationDerivativesTradingOptions);
}

export { ConfigurationDerivativesTradingOptions, DerivativesTradingOptions, index$1 as DerivativesTradingOptionsRestAPI, index as DerivativesTradingOptionsWebsocketStreams };
