from .exceptions import *
import logging
from .helpers import date_to_milliseconds as date_to_milliseconds, interval_to_milliseconds as interval_to_milliseconds
from _typeshed import Incomplete
from collections.abc import Generator

__app_name__: str
__version__: str
__logger__: logging.getLogger
logger = __logger__

class BinanceRestApiManager:
    API_URL: str
    MARGIN_API_URL: str
    WEBSITE_URL: str
    FUTURES_URL: str
    FUTURES_DATA_URL: str
    FUTURES_COIN_URL: str
    FUTURES_COIN_DATA_URL: str
    PUBLIC_API_VERSION: str
    PRIVATE_API_VERSION: str
    MARGIN_API_VERSION: str
    FUTURES_API_VERSION: str
    FUTURES_API_VERSION2: str
    SYMBOL_TYPE_SPOT: str
    ORDER_STATUS_NEW: str
    ORDER_STATUS_PARTIALLY_FILLED: str
    ORDER_STATUS_FILLED: str
    ORDER_STATUS_CANCELED: str
    ORDER_STATUS_PENDING_CANCEL: str
    ORDER_STATUS_REJECTED: str
    ORDER_STATUS_EXPIRED: str
    KLINE_INTERVAL_1SECOND: str
    KLINE_INTERVAL_1MINUTE: str
    KLINE_INTERVAL_3MINUTE: str
    KLINE_INTERVAL_5MINUTE: str
    KLINE_INTERVAL_15MINUTE: str
    KLINE_INTERVAL_30MINUTE: str
    KLINE_INTERVAL_1HOUR: str
    KLINE_INTERVAL_2HOUR: str
    KLINE_INTERVAL_4HOUR: str
    KLINE_INTERVAL_6HOUR: str
    KLINE_INTERVAL_8HOUR: str
    KLINE_INTERVAL_12HOUR: str
    KLINE_INTERVAL_1DAY: str
    KLINE_INTERVAL_3DAY: str
    KLINE_INTERVAL_1WEEK: str
    KLINE_INTERVAL_1MONTH: str
    SIDE_BUY: str
    SIDE_SELL: str
    ORDER_TYPE_LIMIT: str
    ORDER_TYPE_MARKET: str
    ORDER_TYPE_STOP_LOSS: str
    ORDER_TYPE_STOP_LOSS_LIMIT: str
    ORDER_TYPE_TAKE_PROFIT: str
    ORDER_TYPE_TAKE_PROFIT_LIMIT: str
    ORDER_TYPE_LIMIT_MAKER: str
    TIME_IN_FORCE_GTC: str
    TIME_IN_FORCE_IOC: str
    TIME_IN_FORCE_FOK: str
    ORDER_RESP_TYPE_ACK: str
    ORDER_RESP_TYPE_RESULT: str
    ORDER_RESP_TYPE_FULL: str
    AGG_ID: str
    AGG_PRICE: str
    AGG_QUANTITY: str
    AGG_FIRST_TRADE_ID: str
    AGG_LAST_TRADE_ID: str
    AGG_TIME: str
    AGG_BUYER_MAKES: str
    AGG_BEST_MATCH: str
    SPOT_TO_FIAT: str
    SPOT_TO_USDT_FUTURE: str
    SPOT_TO_COIN_FUTURE: str
    SPOT_TO_MARGIN_CROSS: str
    SPOT_TO_MINING: str
    FIAT_TO_SPOT: str
    FIAT_TO_USDT_FUTURE: str
    FIAT_TO_MINING: str
    USDT_FUTURE_TO_SPOT: str
    USDT_FUTURE_TO_FIAT: str
    USDT_FUTURE_TO_MARGIN_CROSS: str
    COIN_FUTURE_TO_SPOT: str
    MARGIN_CROSS_TO_SPOT: str
    MARGIN_CROSS_TO_USDT_FUTURE: str
    MINING_TO_SPOT: str
    MINING_TO_USDT_FUTURE: str
    MINING_TO_FIAT: str
    name: str | None
    version: str | None
    sigterm: bool
    session: Incomplete
    exchange: Incomplete
    debug: Incomplete
    socks5_proxy_address: str | None
    socks5_proxy_user: str | None
    socks5_proxy_pass: str | None
    socks5_proxy_port: str | None
    socks5_proxy_ssl_verification: bool | None
    request_socks5_proxies: Incomplete
    API_KEY: Incomplete
    API_SECRET: Incomplete
    last_update_check_github: Incomplete
    response: Incomplete
    used_weight: dict | None
    timestamp_offset: int
    def __init__(self, api_key: str | None = None, api_secret: str | None = None, requests_params: dict = None, tld: str | None = None, warn_on_update: bool = True, exchange: str | None = None, disable_colorama: bool = False, debug: bool = False, socks5_proxy_server: str | None = None, socks5_proxy_user: str | None = None, socks5_proxy_pass: str | None = None, socks5_proxy_ssl_verification: bool | None = True) -> None: ...
    def __enter__(self): ...
    def __exit__(self, exc_type: type[BaseException] | None, exc_value: BaseException | None, error_traceback: types.TracebackType | None) -> None: ...
    def is_update_availabe(self): ...
    def get_version(self): ...
    def get_latest_version(self) -> str | None: ...
    def get_latest_release_info(self): ...
    def get_user_agent(self): ...
    def get_products(self): ...
    def get_exchange_info(self, **params): ...
    def get_symbol_info(self, symbol): ...
    def ping(self): ...
    def get_server_time(self): ...
    def get_all_tickers(self): ...
    def get_orderbook_tickers(self): ...
    def get_order_book(self, **params): ...
    def get_recent_trades(self, **params): ...
    def get_historical_trades(self, **params): ...
    def get_aggregate_trades(self, **params): ...
    def aggregate_trade_iter(self, symbol, start_str: Incomplete | None = None, last_id: Incomplete | None = None) -> Generator[Incomplete]: ...
    def get_klines(self, **params): ...
    def get_historical_klines(self, symbol, interval, start_str, end_str: Incomplete | None = None, limit: int = 500): ...
    def get_historical_klines_generator(self, symbol, interval, start_str, end_str: Incomplete | None = None) -> Generator[Incomplete]: ...
    def get_avg_price(self, **params): ...
    def get_ticker(self, **params): ...
    def get_symbol_ticker(self, **params): ...
    def get_orderbook_ticker(self, **params): ...
    def create_order(self, **params): ...
    def order_limit(self, timeInForce=..., **params): ...
    def order_limit_buy(self, timeInForce=..., **params): ...
    def order_limit_sell(self, timeInForce=..., **params): ...
    def order_market(self, **params): ...
    def order_market_buy(self, **params): ...
    def order_market_sell(self, **params): ...
    def create_oco_order(self, **params): ...
    def order_oco_buy(self, **params): ...
    def order_oco_sell(self, **params): ...
    def create_test_order(self, **params): ...
    def get_order(self, **params): ...
    def get_all_orders(self, **params): ...
    def cancel_all_open_orders(self, **params): ...
    def cancel_all_open_margin_orders(self, **params): ...
    def cancel_order(self, **params): ...
    def get_open_orders(self, **params): ...
    def get_account(self, **params): ...
    def get_asset_balance(self, asset, **params): ...
    def get_my_trades(self, **params): ...
    def get_system_status(self): ...
    def get_account_status(self, **params): ...
    def get_account_api_trading_status(self, **params): ...
    def get_dust_log(self, **params): ...
    def transfer_dust(self, **params): ...
    def get_asset_dividend_history(self, **params): ...
    def query_universal_transfer_history(self, **params): ...
    def get_trade_fee(self, **params): ...
    def get_asset_details(self, **params): ...
    def withdraw(self, **params): ...
    def get_deposit_history(self, **params): ...
    def get_withdraw_history(self, **params): ...
    def get_withdraw_history_id(self, withdraw_id, **params): ...
    def get_deposit_address(self, **params): ...
    def stream_get_listen_key(self, output: str = 'value', throw_exception: bool = True, **kwargs): ...
    def stream_keepalive(self, listenKey, throw_exception: bool = True, **kwargs): ...
    def stream_close(self, listenKey, throw_exception: bool = True, **kwargs): ...
    def get_margin_account(self, **params): ...
    def get_isolated_margin_account(self, **params): ...
    def get_margin_asset(self, **params): ...
    def get_margin_symbol(self, **params): ...
    def create_isolated_margin_account(self, **params): ...
    def get_isolated_margin_symbol(self, **params): ...
    def get_all_isolated_margin_symbols(self, **params): ...
    def toggle_bnb_burn_spot_margin(self, **params): ...
    def get_bnb_burn_spot_margin(self, **params): ...
    def get_margin_price_index(self, **params): ...
    def transfer_margin_to_spot(self, **params): ...
    def transfer_spot_to_margin(self, **params): ...
    def transfer_isolated_margin_to_spot(self, **params): ...
    def transfer_spot_to_isolated_margin(self, **params): ...
    def create_margin_loan(self, **params): ...
    def repay_margin_loan(self, **params): ...
    def create_margin_oco_order(self, **params): ...
    def cancel_margin_oco_order(self, **params): ...
    def get_margin_oco_order(self, **params): ...
    def get_open_margin_oco_orders(self, **params): ...
    def create_margin_order(self, **params): ...
    def cancel_margin_order(self, **params): ...
    def get_margin_loan_details(self, **params): ...
    def get_margin_repay_details(self, **params): ...
    def get_margin_order(self, **params): ...
    def get_open_margin_orders(self, **params): ...
    def get_open_isolated_margin_orders(self, **params): ...
    def get_all_margin_orders(self, **params): ...
    def get_margin_trades(self, **params): ...
    def get_max_margin_loan(self, **params): ...
    def get_max_margin_transfer(self, **params): ...
    def margin_stream_get_listen_key(self, output: str = 'value', throw_exception: bool = True, **kwargs): ...
    def margin_stream_keepalive(self, listenKey, throw_exception: bool = True, **kwargs): ...
    def margin_stream_close(self, listenKey, throw_exception: bool = True, **kwargs): ...
    def isolated_margin_stream_get_listen_key(self, symbol, output: str = 'value', throw_exception: bool = True, **kwargs): ...
    def isolated_margin_stream_keepalive(self, symbol, listenKey, throw_exception: bool = True, **kwargs): ...
    def isolated_margin_stream_close(self, symbol, listenKey, throw_exception: bool = True, **kwargs): ...
    def get_lending_product_list(self, **params): ...
    def get_lending_daily_quota_left(self, **params): ...
    def purchase_lending_product(self, **params): ...
    def get_lending_daily_redemption_quota(self, **params): ...
    def redeem_lending_product(self, **params): ...
    def get_lending_position(self, **params): ...
    def get_fixed_activity_project_list(self, **params): ...
    def get_lending_account(self, **params): ...
    def get_lending_purchase_history(self, **params): ...
    def get_lending_redemption_history(self, **params): ...
    def get_lending_interest_history(self, **params): ...
    def change_fixed_activity_to_daily_position(self, **params): ...
    def get_sub_account_list(self, **params): ...
    def get_sub_account_transfer_history(self, **params): ...
    def get_sub_account_futures_transfer_history(self, **params): ...
    def create_sub_account_futures_transfer(self, **params): ...
    def get_sub_account_assets(self, **params): ...
    def query_subaccount_spot_summary(self, **params): ...
    def get_subaccount_deposit_address(self, **params): ...
    def get_subaccount_deposit_history(self, **params): ...
    def get_subaccount_futures_margin_status(self, **params): ...
    def enable_subaccount_margin(self, **params): ...
    def get_subaccount_margin_details(self, **params): ...
    def get_subaccount_margin_summary(self, **params): ...
    def enable_subaccount_futures(self, **params): ...
    def get_subaccount_futures_details(self, **params): ...
    def get_subaccount_futures_summary(self, **params): ...
    def get_subaccount_futures_positionrisk(self, **params): ...
    def make_subaccount_futures_transfer(self, **params): ...
    def make_subaccount_margin_transfer(self, **params): ...
    def make_subaccount_to_subaccount_transfer(self, **params): ...
    def make_subaccount_to_master_transfer(self, **params): ...
    def get_subaccount_transfer_history(self, **params): ...
    def make_universal_transfer(self, **params): ...
    def get_universal_transfer_history(self, **params): ...
    def get_used_weight(self, cached: bool = False, cached_timeout: float | None = None) -> dict | None: ...
    def futures_ping(self): ...
    def futures_time(self): ...
    def futures_exchange_info(self, **params): ...
    def futures_order_book(self, **params): ...
    def futures_recent_trades(self, **params): ...
    def futures_historical_trades(self, **params): ...
    def futures_aggregate_trades(self, **params): ...
    def futures_klines(self, **params): ...
    def futures_mark_price(self, **params): ...
    def futures_funding_rate(self, **params): ...
    def futures_ticker(self, **params): ...
    def futures_symbol_ticker(self, **params): ...
    def futures_orderbook_ticker(self, **params): ...
    def futures_liquidation_orders(self, **params): ...
    def futures_open_interest(self, **params): ...
    def futures_open_interest_hist(self, **params): ...
    def futures_leverage_bracket(self, **params): ...
    def futures_account_transfer(self, **params): ...
    def futures_auto_cancel_all_open_orders(self, **params): ...
    def futures_commission_rate(self, **params): ...
    def transfer_history(self, **params): ...
    def futures_create_order(self, **params): ...
    def futures_place_batch_order(self, **params): ...
    def futures_get_order(self, **params): ...
    def futures_get_open_orders(self, **params): ...
    def futures_get_all_orders(self, **params): ...
    def futures_cancel_order(self, **params): ...
    def futures_cancel_all_open_orders(self, **params): ...
    def futures_cancel_orders(self, **params): ...
    def futures_account_balance(self, **params): ...
    def futures_account(self, **params): ...
    def futures_change_leverage(self, **params): ...
    def futures_change_margin_type(self, **params): ...
    def futures_change_position_margin(self, **params): ...
    def futures_position_margin_history(self, **params): ...
    def futures_position_information(self, **params): ...
    def futures_account_trades(self, **params): ...
    def futures_income_history(self, **params): ...
    def futures_change_position_mode(self, **params): ...
    def futures_get_position_mode(self, **params): ...
    def futures_stream_get_listen_key(self, output: str = 'value', throw_exception: bool = True, **kwargs): ...
    def futures_stream_keepalive(self, listenKey, throw_exception: bool = True, **kwargs): ...
    def futures_stream_close(self, listenKey, throw_exception: bool = True, **kwargs): ...
    def futures_coin_ping(self): ...
    def futures_coin_time(self): ...
    def futures_coin_exchange_info(self, **params): ...
    def futures_coin_order_book(self, **params): ...
    def futures_coin_recent_trades(self, **params): ...
    def futures_coin_historical_trades(self, **params): ...
    def futures_coin_aggregate_trades(self, **params): ...
    def futures_coin_klines(self, **params): ...
    def futures_coin_continous_klines(self, **params): ...
    def futures_coin_index_price_klines(self, **params): ...
    def futures_coin_mark_price_klines(self, **params): ...
    def futures_coin_mark_price(self, **params): ...
    def futures_coin_funding_rate(self, **params): ...
    def futures_coin_ticker(self, **params): ...
    def futures_coin_symbol_ticker(self, **params): ...
    def futures_coin_orderbook_ticker(self, **params): ...
    def futures_coin_liquidation_orders(self, **params): ...
    def futures_coin_open_interest(self, **params): ...
    def futures_coin_open_interest_hist(self, **params): ...
    def futures_coin_leverage_bracket(self, **params): ...
    def new_transfer_history(self, **params): ...
    def universal_transfer(self, **params): ...
    def futures_coin_create_order(self, **params): ...
    def futures_coin_place_batch_order(self, **params): ...
    def futures_coin_get_order(self, **params): ...
    def futures_coin_get_open_orders(self, **params): ...
    def futures_coin_get_all_orders(self, **params): ...
    def futures_coin_cancel_order(self, **params): ...
    def futures_coin_cancel_all_open_orders(self, **params): ...
    def futures_coin_cancel_orders(self, **params): ...
    def futures_coin_account_balance(self, **params): ...
    def futures_coin_account(self, **params): ...
    def futures_coin_change_leverage(self, **params): ...
    def futures_coin_change_margin_type(self, **params): ...
    def futures_coin_change_position_margin(self, **params): ...
    def futures_coin_position_margin_history(self, **params): ...
    def futures_coin_position_information(self, **params): ...
    def futures_coin_account_trades(self, **params): ...
    def futures_coin_income_history(self, **params): ...
    def futures_coin_change_position_mode(self, **params): ...
    def futures_coin_get_position_mode(self, **params): ...
    def futures_coin_stream_get_listen_key(self, output: str = 'value', throw_exception: bool = True, **kwargs): ...
    def futures_coin_stream_keepalive(self, listenKey, throw_exception: bool = True, **kwargs): ...
    def futures_coin_stream_close(self, listenKey, throw_exception: bool = True, **kwargs): ...
    def get_all_coins_info(self, **params): ...
    def get_account_snapshot(self, **params): ...
    def disable_fast_withdraw_switch(self, **params): ...
    def enable_fast_withdraw_switch(self, **params): ...
    def stop_manager(self): ...
