from .generic_cover import COMMANDS_STOP as COMMANDS_STOP, OverkizGenericCover as OverkizGenericCover
from homeassistant.components.cover import ATTR_POSITION as ATTR_POSITION, DEVICE_CLASS_AWNING as DEVICE_CLASS_AWNING, DEVICE_CLASS_BLIND as DEVICE_CLASS_BLIND, DEVICE_CLASS_CURTAIN as DEVICE_CLASS_CURTAIN, DEVICE_CLASS_GARAGE as DEVICE_CLASS_GARAGE, DEVICE_CLASS_GATE as DEVICE_CLASS_GATE, DEVICE_CLASS_SHUTTER as DEVICE_CLASS_SHUTTER, DEVICE_CLASS_WINDOW as DEVICE_CLASS_WINDOW, SUPPORT_CLOSE as SUPPORT_CLOSE, SUPPORT_OPEN as SUPPORT_OPEN, SUPPORT_SET_POSITION as SUPPORT_SET_POSITION, SUPPORT_STOP as SUPPORT_STOP
from typing import Any

COMMANDS_OPEN: Any
COMMANDS_CLOSE: Any
OVERKIZ_DEVICE_TO_DEVICE_CLASS: Any

class VerticalCover(OverkizGenericCover):
    @property
    def supported_features(self) -> int: ...
    @property
    def device_class(self) -> str: ...
    @property
    def current_cover_position(self) -> Union[int, None]: ...
    async def async_set_cover_position(self, **kwargs: Any) -> None: ...
    async def async_open_cover(self, **kwargs: Any) -> None: ...
    async def async_close_cover(self, **kwargs: Any) -> None: ...
