from .const import CONF_DPT as CONF_DPT, CONF_GA_PASSIVE as CONF_GA_PASSIVE, CONF_GA_STATE as CONF_GA_STATE, CONF_GA_WRITE as CONF_GA_WRITE
from _typeshed import Incomplete
from homeassistant.helpers.typing import ConfigType as ConfigType
from typing import Any
from xknx.typing import DPTMainSubDict

def dpt_string_to_dict(dpt: str) -> DPTMainSubDict: ...
def nested_get(dic: ConfigType, *keys: str, default: Any | None = None) -> Any: ...

class ConfigExtractor:
    __slots__: Incomplete
    get: Incomplete
    def __init__(self, config: ConfigType) -> None: ...
    def get_write(self, *path: str) -> str | None: ...
    def get_state(self, *path: str) -> str | None: ...
    def get_write_and_passive(self, *path: str) -> list[Any | None]: ...
    def get_state_and_passive(self, *path: str) -> list[Any | None]: ...
    def get_dpt(self, *path: str) -> str | None: ...
