import logging
import threading
from _typeshed import Incomplete
from typing import Callable
from unicorn_binance_rest_api.licensing_exceptions import NoValidatedLucitLicense as NoValidatedLucitLicense

__logger__: logging.getLogger
logger = __logger__

class LucitLicensingManager(threading.Thread):
    module_version: str
    parent_shutdown_function: Incomplete
    is_started: Incomplete
    sigterm: bool
    id: Incomplete
    last_verified_licensing_result: Incomplete
    mac: Incomplete
    needed_license_type: Incomplete
    os: Incomplete
    program_used: Incomplete
    python_version: Incomplete
    raised_license_exception: Incomplete
    request_interval: int
    time_delta: float
    url: str
    shop_product_url: str
    api_secret: Incomplete
    license_token: Incomplete
    def __init__(self, api_secret: str | None = None, license_token: str | None = None, license_ini: str | None = None, license_profile: str | None = None, program_used: str | None = None, start: bool = True, parent_shutdown_function: Callable[[bool], bool] = None, needed_license_type: str | None = None) -> None: ...
    def __enter__(self): ...
    def __exit__(self, exc_type: type[BaseException] | None, exc_value: BaseException | None, error_traceback: types.TracebackType | None) -> None: ...
    def close(self, close_api_session: bool = True, key_value: str = None) -> dict: ...
    def get_license_exception(self): ...
    def set_license_exception(self, error) -> None: ...
    def get_info(self, api_secret: str = None, license_token: str = None) -> dict: ...
    def get_module_version(self): ...
    def get_quotas(self, api_secret: str = None, license_token: str = None) -> dict: ...
    def get_timestamp(self) -> dict: ...
    def get_version(self) -> dict: ...
    def is_verified(self) -> bool: ...
    def process_licensing_error(self, info: str = None): ...
    def reset(self, api_secret: str = None, license_token: str = None) -> dict: ...
    def run(self) -> None: ...
    def stop(self) -> dict: ...
    def sync_time(self) -> bool: ...
    def test(self) -> dict: ...
    def verify(self, api_secret: str = None, license_token: str = None, key_value: str = None) -> dict: ...
