from typing import ClassVar, Dict, Iterable, Iterator, List

from typing import overload

class LabelEncoder:
    def __init__(self) -> None: ...
    def encode_1d(self, arg0: OneDStringVector) -> None: ...
    def transform_1d(self, arg0: OneDStringVector, arg1: int) -> List[int]: ...
    @property
    def label_map(self) -> Dict[str,int]: ...

class OneDStringVector:
    __hash__: ClassVar[None] = ...
    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, arg0: OneDStringVector) -> None: ...
    @overload
    def __init__(self, arg0: Iterable) -> None: ...
    def append(self, x: str) -> None: ...
    def clear(self) -> None: ...
    def count(self, x: str) -> int: ...
    @overload
    def extend(self, L: OneDStringVector) -> None: ...
    @overload
    def extend(self, L: Iterable) -> None: ...
    def insert(self, i: int, x: str) -> None: ...
    @overload
    def pop(self) -> str: ...
    @overload
    def pop(self, i: int) -> str: ...
    def remove(self, x: str) -> None: ...
    def __bool__(self) -> bool: ...
    def __contains__(self, x: str) -> bool: ...
    @overload
    def __delitem__(self, arg0: int) -> None: ...
    @overload
    def __delitem__(self, arg0: slice) -> None: ...
    def __eq__(self, arg0: OneDStringVector) -> bool: ...
    @overload
    def __getitem__(self, s: slice) -> OneDStringVector: ...
    @overload
    def __getitem__(self, arg0: int) -> str: ...
    def __iter__(self) -> Iterator: ...
    def __len__(self) -> int: ...
    def __ne__(self, arg0: OneDStringVector) -> bool: ...
    @overload
    def __setitem__(self, arg0: int, arg1: str) -> None: ...
    @overload
    def __setitem__(self, arg0: slice, arg1: OneDStringVector) -> None: ...
