"""
This type stub file was generated by pyright.
"""

from collections.abc import Iterable, Iterator, MutableMapping
from dataclasses import dataclass
from typing import Final, TYPE_CHECKING
from _typeshed import SupportsKeysAndGetItem

if TYPE_CHECKING:
    ...
EMBED_QUERY_PARAM: Final[str] = ...
EMBED_OPTIONS_QUERY_PARAM: Final[str] = ...
EMBED_QUERY_PARAMS_KEYS: Final[list[str]] = ...
@dataclass
class QueryParams(MutableMapping[str, str]):
    """A lightweight wrapper of a dict that sends forwardMsgs when state changes.
    It stores str keys with str and List[str] values.
    """
    _query_params: dict[str, list[str] | str] = ...
    def __iter__(self) -> Iterator[str]:
        ...
    
    def __getitem__(self, key: str) -> str:
        """Retrieves a value for a given key in query parameters.
        Returns the last item in a list or an empty string if empty.
        If the key is not present, raise KeyError.
        """
        ...
    
    def __setitem__(self, key: str, value: str | Iterable[str]) -> None:
        ...
    
    def __delitem__(self, key: str) -> None:
        ...
    
    def update(self, other: Iterable[tuple[str, str | Iterable[str]]] | SupportsKeysAndGetItem[str, str | Iterable[str]] = ..., /, **kwds: str): # -> None:
        ...
    
    def get_all(self, key: str) -> list[str]:
        ...
    
    def __len__(self) -> int:
        ...
    
    def __str__(self) -> str:
        ...
    
    def clear(self) -> None:
        ...
    
    def to_dict(self) -> dict[str, str]:
        ...
    
    def from_dict(self, _dict: Iterable[tuple[str, str | Iterable[str]]] | SupportsKeysAndGetItem[str, str | Iterable[str]]): # -> None:
        ...
    
    def set_with_no_forward_msg(self, key: str, val: list[str] | str) -> None:
        ...
    
    def clear_with_no_forward_msg(self, preserve_embed: bool = ...) -> None:
        ...
    


def missing_key_error_message(key: str) -> str:
    ...

