from .const import DEFAULT_ATTEMPTS as DEFAULT_ATTEMPTS, DOMAIN as DOMAIN, INFRARED_BRIGHTNESS_VALUES_MAP as INFRARED_BRIGHTNESS_VALUES_MAP, OVERALL_TIMEOUT as OVERALL_TIMEOUT, _LOGGER as _LOGGER
from _typeshed import Incomplete
from aiolifx.aiolifx import Light as Light
from aiolifx.message import Message as Message
from collections.abc import Callable as Callable
from homeassistant.components.light import ATTR_BRIGHTNESS as ATTR_BRIGHTNESS, ATTR_BRIGHTNESS_PCT as ATTR_BRIGHTNESS_PCT, ATTR_COLOR_NAME as ATTR_COLOR_NAME, ATTR_COLOR_TEMP as ATTR_COLOR_TEMP, ATTR_COLOR_TEMP_KELVIN as ATTR_COLOR_TEMP_KELVIN, ATTR_HS_COLOR as ATTR_HS_COLOR, ATTR_KELVIN as ATTR_KELVIN, ATTR_RGB_COLOR as ATTR_RGB_COLOR, ATTR_XY_COLOR as ATTR_XY_COLOR
from homeassistant.config_entries import ConfigEntry as ConfigEntry
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
from typing import Any

FIX_MAC_FW: Incomplete

def async_entry_is_legacy(entry: ConfigEntry) -> bool: ...
def async_get_legacy_entry(hass: HomeAssistant) -> ConfigEntry | None: ...
def infrared_brightness_value_to_option(value: int) -> str | None: ...
def infrared_brightness_option_to_value(option: str) -> int | None: ...
def convert_8_to_16(value: int) -> int: ...
def convert_16_to_8(value: int) -> int: ...
def lifx_features(bulb: Light) -> dict[str, Any]: ...
def find_hsbk(hass: HomeAssistant, **kwargs: Any) -> list[float | int | None] | None: ...
def merge_hsbk(base: list[float | int | None], change: list[float | int | None]) -> list[float | int | None]: ...
def _get_mac_offset(mac_addr: str, offset: int) -> str: ...
def _off_by_one_mac(firmware: str) -> bool: ...
def get_real_mac_addr(mac_addr: str, firmware: str) -> str: ...
def formatted_serial(serial_number: str) -> str: ...
def mac_matches_serial_number(mac_addr: str, serial_number: str) -> bool: ...
async def async_execute_lifx(method: Callable) -> Message: ...
async def async_multi_execute_lifx_with_retries(methods: list[Callable], attempts: int, overall_timeout: int) -> list[Message]: ...
