from collections.abc import Iterator, Mapping
from typing import overload


class StringMap:
    @overload
    def __init__(self) -> None: ...

    @overload
    def __init__(self, arg: Mapping[str, str], /) -> None: ...

    def __iter__(self) -> Iterator[str]: ...

    def items(self) -> Iterator[tuple[str, str]]: ...

    def items_l(self) -> Iterator[tuple[str, str]]: ...

    def values(self) -> Iterator[str]: ...

def iterator_passthrough(arg: Iterator, /) -> Iterator: ...

class IdentityMap:
    def __init__(self) -> None: ...

    def __iter__(self) -> Iterator[int]: ...

    def items(self) -> Iterator[tuple[int, int]]: ...

    def items_l(self) -> Iterator[tuple[int, int]]: ...

    def values(self) -> Iterator[int]: ...

__all__: list = ['iterator_passthrough', 'StringMap', 'IdentityMap']
