from _typeshed import Incomplete
from homeassistant.core import HomeAssistant as HomeAssistant
from homeassistant.util.network import is_local as is_local
from html.parser import HTMLParser
from urllib.parse import ParseResult as ParseResult

_LOGGER: Incomplete

async def verify_redirect_uri(hass: HomeAssistant, client_id: str, redirect_uri: str) -> bool: ...

class LinkTagParser(HTMLParser):
    rel: Incomplete
    found: Incomplete
    def __init__(self, rel: str) -> None: ...
    def handle_starttag(self, tag: str, attrs: list[tuple[str, str | None]]) -> None: ...

async def fetch_redirect_uris(hass: HomeAssistant, url: str) -> list[str]: ...
def verify_client_id(client_id: str) -> bool: ...
def _parse_url(url: str) -> ParseResult: ...
def _parse_client_id(client_id: str) -> ParseResult: ...
