from .const import BANG_OLUFSEN_WEBSOCKET_EVENT as BANG_OLUFSEN_WEBSOCKET_EVENT, CONNECTION_STATUS as CONNECTION_STATUS, WEBSOCKET_NOTIFICATION as WEBSOCKET_NOTIFICATION
from .entity import BangOlufsenBase as BangOlufsenBase
from .util import get_device as get_device
from _typeshed import Incomplete
from homeassistant.config_entries import ConfigEntry as ConfigEntry
from homeassistant.core import HomeAssistant as HomeAssistant
from homeassistant.helpers.dispatcher import async_dispatcher_send as async_dispatcher_send
from mozart_api.models import PlaybackContentMetadata as PlaybackContentMetadata, PlaybackError as PlaybackError, PlaybackProgress as PlaybackProgress, RenderingState as RenderingState, SoftwareUpdateState as SoftwareUpdateState, Source as Source, VolumeState as VolumeState, WebsocketNotificationTag as WebsocketNotificationTag
from mozart_api.mozart_client import MozartClient as MozartClient

_LOGGER: Incomplete

class BangOlufsenWebsocket(BangOlufsenBase):
    hass: Incomplete
    _device: Incomplete
    def __init__(self, hass: HomeAssistant, entry: ConfigEntry, client: MozartClient) -> None: ...
    def _update_connection_status(self) -> None: ...
    def on_connection(self) -> None: ...
    def on_connection_lost(self) -> None: ...
    def on_notification_notification(self, notification: WebsocketNotificationTag) -> None: ...
    def on_playback_error_notification(self, notification: PlaybackError) -> None: ...
    def on_playback_metadata_notification(self, notification: PlaybackContentMetadata) -> None: ...
    def on_playback_progress_notification(self, notification: PlaybackProgress) -> None: ...
    def on_playback_state_notification(self, notification: RenderingState) -> None: ...
    def on_source_change_notification(self, notification: Source) -> None: ...
    def on_volume_notification(self, notification: VolumeState) -> None: ...
    async def on_software_update_state(self, notification: SoftwareUpdateState) -> None: ...
    def on_all_notifications_raw(self, notification: dict) -> None: ...
