"""
Binance Derivatives Trading COIN Futures REST API

OpenAPI Specification for the Binance Derivatives Trading COIN Futures REST API
The version of the OpenAPI document: 1.0.0
Generated by OpenAPI Generator (https://openapi-generator.tech)

Do not edit the class manually.
"""

from enum import Enum


class BasisContractTypeEnum(Enum):
    PERPETUAL = "PERPETUAL"
    CURRENT_QUARTER = "CURRENT_QUARTER"
    NEXT_QUARTER = "NEXT_QUARTER"
    CURRENT_QUARTER_DELIVERING = "CURRENT_QUARTER_DELIVERING"
    NEXT_QUARTER_DELIVERING = "NEXT_QUARTER_DELIVERING"
    PERPETUAL_DELIVERING = "PERPETUAL_DELIVERING"


class BasisPeriodEnum(Enum):
    PERIOD_5m = "5m"
    PERIOD_15m = "15m"
    PERIOD_30m = "30m"
    PERIOD_1h = "1h"
    PERIOD_2h = "2h"
    PERIOD_4h = "4h"
    PERIOD_6h = "6h"
    PERIOD_12h = "12h"
    PERIOD_1d = "1d"


class ContinuousContractKlineCandlestickDataContractTypeEnum(Enum):
    PERPETUAL = "PERPETUAL"
    CURRENT_QUARTER = "CURRENT_QUARTER"
    NEXT_QUARTER = "NEXT_QUARTER"
    CURRENT_QUARTER_DELIVERING = "CURRENT_QUARTER_DELIVERING"
    NEXT_QUARTER_DELIVERING = "NEXT_QUARTER_DELIVERING"
    PERPETUAL_DELIVERING = "PERPETUAL_DELIVERING"


class ContinuousContractKlineCandlestickDataIntervalEnum(Enum):
    INTERVAL_1m = "1m"
    INTERVAL_3m = "3m"
    INTERVAL_5m = "5m"
    INTERVAL_15m = "15m"
    INTERVAL_30m = "30m"
    INTERVAL_1h = "1h"
    INTERVAL_2h = "2h"
    INTERVAL_4h = "4h"
    INTERVAL_6h = "6h"
    INTERVAL_8h = "8h"
    INTERVAL_12h = "12h"
    INTERVAL_1d = "1d"
    INTERVAL_3d = "3d"
    INTERVAL_1w = "1w"
    INTERVAL_1M = "1M"


class IndexPriceKlineCandlestickDataIntervalEnum(Enum):
    INTERVAL_1m = "1m"
    INTERVAL_3m = "3m"
    INTERVAL_5m = "5m"
    INTERVAL_15m = "15m"
    INTERVAL_30m = "30m"
    INTERVAL_1h = "1h"
    INTERVAL_2h = "2h"
    INTERVAL_4h = "4h"
    INTERVAL_6h = "6h"
    INTERVAL_8h = "8h"
    INTERVAL_12h = "12h"
    INTERVAL_1d = "1d"
    INTERVAL_3d = "3d"
    INTERVAL_1w = "1w"
    INTERVAL_1M = "1M"


class KlineCandlestickDataIntervalEnum(Enum):
    INTERVAL_1m = "1m"
    INTERVAL_3m = "3m"
    INTERVAL_5m = "5m"
    INTERVAL_15m = "15m"
    INTERVAL_30m = "30m"
    INTERVAL_1h = "1h"
    INTERVAL_2h = "2h"
    INTERVAL_4h = "4h"
    INTERVAL_6h = "6h"
    INTERVAL_8h = "8h"
    INTERVAL_12h = "12h"
    INTERVAL_1d = "1d"
    INTERVAL_3d = "3d"
    INTERVAL_1w = "1w"
    INTERVAL_1M = "1M"


class LongShortRatioPeriodEnum(Enum):
    PERIOD_5m = "5m"
    PERIOD_15m = "15m"
    PERIOD_30m = "30m"
    PERIOD_1h = "1h"
    PERIOD_2h = "2h"
    PERIOD_4h = "4h"
    PERIOD_6h = "6h"
    PERIOD_12h = "12h"
    PERIOD_1d = "1d"


class MarkPriceKlineCandlestickDataIntervalEnum(Enum):
    INTERVAL_1m = "1m"
    INTERVAL_3m = "3m"
    INTERVAL_5m = "5m"
    INTERVAL_15m = "15m"
    INTERVAL_30m = "30m"
    INTERVAL_1h = "1h"
    INTERVAL_2h = "2h"
    INTERVAL_4h = "4h"
    INTERVAL_6h = "6h"
    INTERVAL_8h = "8h"
    INTERVAL_12h = "12h"
    INTERVAL_1d = "1d"
    INTERVAL_3d = "3d"
    INTERVAL_1w = "1w"
    INTERVAL_1M = "1M"


class OpenInterestStatisticsContractTypeEnum(Enum):
    PERPETUAL = "PERPETUAL"
    CURRENT_QUARTER = "CURRENT_QUARTER"
    NEXT_QUARTER = "NEXT_QUARTER"
    CURRENT_QUARTER_DELIVERING = "CURRENT_QUARTER_DELIVERING"
    NEXT_QUARTER_DELIVERING = "NEXT_QUARTER_DELIVERING"
    PERPETUAL_DELIVERING = "PERPETUAL_DELIVERING"


class OpenInterestStatisticsPeriodEnum(Enum):
    PERIOD_5m = "5m"
    PERIOD_15m = "15m"
    PERIOD_30m = "30m"
    PERIOD_1h = "1h"
    PERIOD_2h = "2h"
    PERIOD_4h = "4h"
    PERIOD_6h = "6h"
    PERIOD_12h = "12h"
    PERIOD_1d = "1d"


class PremiumIndexKlineDataIntervalEnum(Enum):
    INTERVAL_1m = "1m"
    INTERVAL_3m = "3m"
    INTERVAL_5m = "5m"
    INTERVAL_15m = "15m"
    INTERVAL_30m = "30m"
    INTERVAL_1h = "1h"
    INTERVAL_2h = "2h"
    INTERVAL_4h = "4h"
    INTERVAL_6h = "6h"
    INTERVAL_8h = "8h"
    INTERVAL_12h = "12h"
    INTERVAL_1d = "1d"
    INTERVAL_3d = "3d"
    INTERVAL_1w = "1w"
    INTERVAL_1M = "1M"


class TakerBuySellVolumeContractTypeEnum(Enum):
    PERPETUAL = "PERPETUAL"
    CURRENT_QUARTER = "CURRENT_QUARTER"
    NEXT_QUARTER = "NEXT_QUARTER"
    CURRENT_QUARTER_DELIVERING = "CURRENT_QUARTER_DELIVERING"
    NEXT_QUARTER_DELIVERING = "NEXT_QUARTER_DELIVERING"
    PERPETUAL_DELIVERING = "PERPETUAL_DELIVERING"


class TakerBuySellVolumePeriodEnum(Enum):
    PERIOD_5m = "5m"
    PERIOD_15m = "15m"
    PERIOD_30m = "30m"
    PERIOD_1h = "1h"
    PERIOD_2h = "2h"
    PERIOD_4h = "4h"
    PERIOD_6h = "6h"
    PERIOD_12h = "12h"
    PERIOD_1d = "1d"


class TopTraderLongShortRatioAccountsPeriodEnum(Enum):
    PERIOD_5m = "5m"
    PERIOD_15m = "15m"
    PERIOD_30m = "30m"
    PERIOD_1h = "1h"
    PERIOD_2h = "2h"
    PERIOD_4h = "4h"
    PERIOD_6h = "6h"
    PERIOD_12h = "12h"
    PERIOD_1d = "1d"


class TopTraderLongShortRatioPositionsPeriodEnum(Enum):
    PERIOD_5m = "5m"
    PERIOD_15m = "15m"
    PERIOD_30m = "30m"
    PERIOD_1h = "1h"
    PERIOD_2h = "2h"
    PERIOD_4h = "4h"
    PERIOD_6h = "6h"
    PERIOD_12h = "12h"
    PERIOD_1d = "1d"


class ChangeMarginTypeMarginTypeEnum(Enum):
    ISOLATED = "ISOLATED"
    CROSSED = "CROSSED"


class ModifyIsolatedPositionMarginTypeEnum(Enum):
    LIMIT = "LIMIT"
    MARKET = "MARKET"
    STOP = "STOP"
    STOP_MARKET = "STOP_MARKET"
    TAKE_PROFIT = "TAKE_PROFIT"
    TAKE_PROFIT_MARKET = "TAKE_PROFIT_MARKET"
    TRAILING_STOP_MARKET = "TRAILING_STOP_MARKET"


class ModifyIsolatedPositionMarginPositionSideEnum(Enum):
    BOTH = "BOTH"
    LONG = "LONG"
    SHORT = "SHORT"


class ModifyOrderSideEnum(Enum):
    BUY = "BUY"
    SELL = "SELL"


class ModifyOrderPriceMatchEnum(Enum):
    NONE = "NONE"
    OPPONENT = "OPPONENT"
    OPPONENT_5 = "OPPONENT_5"
    OPPONENT_10 = "OPPONENT_10"
    OPPONENT_20 = "OPPONENT_20"
    QUEUE = "QUEUE"
    QUEUE_5 = "QUEUE_5"
    QUEUE_10 = "QUEUE_10"
    QUEUE_20 = "QUEUE_20"


class NewOrderSideEnum(Enum):
    BUY = "BUY"
    SELL = "SELL"


class NewOrderTypeEnum(Enum):
    LIMIT = "LIMIT"
    MARKET = "MARKET"
    STOP = "STOP"
    STOP_MARKET = "STOP_MARKET"
    TAKE_PROFIT = "TAKE_PROFIT"
    TAKE_PROFIT_MARKET = "TAKE_PROFIT_MARKET"
    TRAILING_STOP_MARKET = "TRAILING_STOP_MARKET"


class NewOrderPositionSideEnum(Enum):
    BOTH = "BOTH"
    LONG = "LONG"
    SHORT = "SHORT"


class NewOrderTimeInForceEnum(Enum):
    GTC = "GTC"
    IOC = "IOC"
    FOK = "FOK"
    GTX = "GTX"


class NewOrderWorkingTypeEnum(Enum):
    MARK_PRICE = "MARK_PRICE"
    CONTRACT_PRICE = "CONTRACT_PRICE"


class NewOrderNewOrderRespTypeEnum(Enum):
    ACK = "ACK"
    RESULT = "RESULT"


class NewOrderPriceMatchEnum(Enum):
    NONE = "NONE"
    OPPONENT = "OPPONENT"
    OPPONENT_5 = "OPPONENT_5"
    OPPONENT_10 = "OPPONENT_10"
    OPPONENT_20 = "OPPONENT_20"
    QUEUE = "QUEUE"
    QUEUE_5 = "QUEUE_5"
    QUEUE_10 = "QUEUE_10"
    QUEUE_20 = "QUEUE_20"


class NewOrderSelfTradePreventionModeEnum(Enum):
    NONE = "NONE"
    EXPIRE_TAKER = "EXPIRE_TAKER"
    EXPIRE_BOTH = "EXPIRE_BOTH"
    EXPIRE_MAKER = "EXPIRE_MAKER"


class UsersForceOrdersAutoCloseTypeEnum(Enum):
    LIQUIDATION = "LIQUIDATION"
    ADL = "ADL"
