from .binary_sensor import profile_pic as profile_pic
from .const import DOMAIN as DOMAIN
from .coordinator import XboxConfigEntry as XboxConfigEntry
from .entity import to_https as to_https
from _typeshed import Incomplete
from homeassistant.components.media_player import BrowseError as BrowseError, MediaClass as MediaClass
from homeassistant.components.media_source import BrowseMediaSource as BrowseMediaSource, MediaSource as MediaSource, MediaSourceItem as MediaSourceItem, PlayMedia as PlayMedia, Unresolvable as Unresolvable
from homeassistant.core import HomeAssistant as HomeAssistant
from pythonxbox.api.provider.titlehub.models import Image as Image, Title as Title

_LOGGER: Incomplete
ATTR_GAMECLIPS: str
ATTR_SCREENSHOTS: str
ATTR_GAME_MEDIA: str
ATTR_COMMUNITY_GAMECLIPS: str
ATTR_COMMUNITY_SCREENSHOTS: str
MAP_TITLE: Incomplete
MIME_TYPE_MAP: Incomplete
MEDIA_CLASS_MAP: Incomplete
SEPARATOR: str

async def async_get_media_source(hass: HomeAssistant) -> XboxSource: ...

class XboxMediaSourceIdentifier:
    xuid: str
    title_id: str
    media_type: str
    media_id: str
    def __init__(self, item: MediaSourceItem) -> None: ...
    def __str__(self) -> str: ...

class XboxSource(MediaSource):
    name: str
    hass: Incomplete
    def __init__(self, hass: HomeAssistant) -> None: ...
    async def async_resolve_media(self, item: MediaSourceItem) -> PlayMedia: ...
    async def async_browse_media(self, item: MediaSourceItem) -> BrowseMediaSource: ...
    async def _build_accounts(self, entries: list[XboxConfigEntry]) -> list[BrowseMediaSource]: ...
    async def _build_game_library(self, entry: XboxConfigEntry) -> BrowseMediaSource: ...
    async def _build_games(self, entry: XboxConfigEntry) -> list[BrowseMediaSource]: ...
    async def _build_game_title(self, entry: XboxConfigEntry, identifier: XboxMediaSourceIdentifier) -> BrowseMediaSource: ...
    def _build_categories(self, identifier: XboxMediaSourceIdentifier) -> list[BrowseMediaSource]: ...
    async def _build_game_media(self, entry: XboxConfigEntry, identifier: XboxMediaSourceIdentifier) -> BrowseMediaSource: ...
    async def _build_media_items_gameclips(self, entry: XboxConfigEntry, identifier: XboxMediaSourceIdentifier) -> list[BrowseMediaSource]: ...
    async def _build_media_items_community_gameclips(self, entry: XboxConfigEntry, identifier: XboxMediaSourceIdentifier) -> list[BrowseMediaSource]: ...
    async def _build_media_items_screenshots(self, entry: XboxConfigEntry, identifier: XboxMediaSourceIdentifier) -> list[BrowseMediaSource]: ...
    async def _build_media_items_community_screenshots(self, entry: XboxConfigEntry, identifier: XboxMediaSourceIdentifier) -> list[BrowseMediaSource]: ...
    def _build_media_items_promotional(self, identifier: XboxMediaSourceIdentifier, game: Title) -> list[BrowseMediaSource]: ...

def gamerpic(config_entry: XboxConfigEntry) -> str | None: ...
def game_thumbnail(images: list[Image]) -> str | None: ...
