from ..entity import OverkizEntity as OverkizEntity
from homeassistant.components.cover import ATTR_TILT_POSITION as ATTR_TILT_POSITION, CoverEntity as CoverEntity, CoverEntityFeature as CoverEntityFeature
from pyoverkiz.enums import OverkizCommand
from typing import Any

ATTR_OBSTRUCTION_DETECTED: str
COMMANDS_STOP: list[OverkizCommand]
COMMANDS_STOP_TILT: list[OverkizCommand]
COMMANDS_OPEN: list[OverkizCommand]
COMMANDS_OPEN_TILT: list[OverkizCommand]
COMMANDS_CLOSE: list[OverkizCommand]
COMMANDS_CLOSE_TILT: list[OverkizCommand]
COMMANDS_SET_TILT_POSITION: list[OverkizCommand]

class OverkizGenericCover(OverkizEntity, CoverEntity):
    @property
    def current_cover_tilt_position(self) -> int | None: ...
    async def async_set_cover_tilt_position(self, **kwargs: Any) -> None: ...
    @property
    def is_closed(self) -> bool | None: ...
    async def async_open_cover_tilt(self, **kwargs: Any) -> None: ...
    async def async_close_cover_tilt(self, **kwargs: Any) -> None: ...
    async def async_stop_cover(self, **kwargs: Any) -> None: ...
    async def async_stop_cover_tilt(self, **kwargs: Any) -> None: ...
    def is_running(self, commands: list[OverkizCommand]) -> bool: ...
    @property
    def supported_features(self) -> CoverEntityFeature: ...
