from .const import API_URL as API_URL
from _typeshed import Incomplete
from doorbirdpy import DoorBird as DoorBird
from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID
from homeassistant.core import HomeAssistant as HomeAssistant
from homeassistant.helpers.network import get_url as get_url
from homeassistant.util import slugify as slugify
from typing import Any

_LOGGER: Incomplete

class ConfiguredDoorBird:
    _name: Incomplete
    _device: Incomplete
    _custom_url: Incomplete
    _token: Incomplete
    _event_entity_ids: Incomplete
    events: Incomplete
    door_station_events: Incomplete
    def __init__(self, device: DoorBird, name: str | None, custom_url: str | None, token: str, event_entity_ids: dict[str, str]) -> None: ...
    def update_events(self, events: list[str]) -> None: ...
    @property
    def name(self) -> str | None: ...
    @property
    def device(self) -> DoorBird: ...
    @property
    def custom_url(self) -> str | None: ...
    @property
    def token(self) -> str: ...
    def register_events(self, hass: HomeAssistant) -> None: ...
    @property
    def slug(self) -> str: ...
    def _get_event_name(self, event: str) -> str: ...
    def _register_event(self, hass_url: str, event: str, favs: dict[str, Any] | None = None) -> bool: ...
    def webhook_is_registered(self, url: str, favs: dict[str, Any] | None = None) -> bool: ...
    def get_webhook_id(self, url: str, favs: dict[str, Any] | None = None) -> str | None: ...
    def get_event_data(self, event: str) -> dict[str, str | None]: ...

async def async_reset_device_favorites(hass: HomeAssistant, door_station: ConfiguredDoorBird) -> None: ...
def _reset_device_favorites(door_station: ConfiguredDoorBird) -> None: ...
