from . import AbodeSystem as AbodeSystem
from .const import DOMAIN_DATA as DOMAIN_DATA, LOGGER as LOGGER
from .entity import AbodeDevice as AbodeDevice
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 AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
from homeassistant.util import Throttle as Throttle
from jaraco.abode.devices.base import Device as Device
from jaraco.abode.devices.camera import Camera as AbodeCam
from requests.models import Response
from typing import Any

MIN_TIME_BETWEEN_UPDATES: Incomplete

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

class AbodeCamera(AbodeDevice, Camera):
    _device: AbodeCam
    _attr_name: Incomplete
    _event: Incomplete
    _response: Response | None
    def __init__(self, data: AbodeSystem, device: Device, 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: ...
