__all__: Final[tuple[str]] = ("List",)

from typing import Final, Generic, TypeVar

_T = TypeVar("_T")

class List(Generic[_T]):
    __slots__: Final[tuple[str, str, str]] = ("_first", "_last", "_current")
    __hash__ = None  # type: ignore[assignment]

    def __init__(self) -> None: ...
    @property
    def is_empty(self) -> bool: ...
    @property
    def has_access(self) -> bool: ...
    def next(self) -> None: ...
    def to_first(self) -> None: ...
    def to_last(self) -> None: ...
    @property
    def content(self) -> _T | None: ...
    @content.setter
    def content(self, new_content: _T | None) -> None: ...
    def insert(self, content: _T | None) -> None: ...
    def append(self, content: _T | None) -> None: ...
    def concat(self, other_list: List[_T] | None) -> None: ...
    def remove(self) -> None: ...
