from . import AbodeDevice as AbodeDevice, AbodeSystem as AbodeSystem
from .const import DOMAIN as DOMAIN, LOGGER as LOGGER
from _typeshed import Incomplete
from homeassistant.components.camera import Camera as Camera
from homeassistant.config_entries import ConfigEntry as ConfigEntry
from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant
from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
from homeassistant.util import Throttle as Throttle
from jaraco.abode.devices.base import Device as AbodeDev
from jaraco.abode.devices.camera import Camera as AbodeCam
from typing import Any

MIN_TIME_BETWEEN_UPDATES: Incomplete

async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...

class AbodeCamera(AbodeDevice, Camera):
    _device: AbodeCam
    _attr_name: Incomplete
    _event: Incomplete
    _response: Incomplete
    def __init__(self, data: AbodeSystem, device: AbodeDev, event: Event) -> None: ...
    async def async_added_to_hass(self) -> None: ...
    def capture(self) -> bool: ...
    def refresh_image(self) -> None: ...
    def get_image(self) -> None: ...
    def camera_image(self, width: int | None = None, height: int | None = None) -> bytes | None: ...
    def turn_on(self) -> None: ...
    def turn_off(self) -> None: ...
    def _capture_callback(self, capture: Any) -> None: ...
    @property
    def is_on(self) -> bool: ...
