# --------------------------------------------------------------------------------------
# Copyright (c) 2021-2025, Nucleic Development Team.
#
# Distributed under the terms of the Modified BSD License.
#
# The full license is in the file LICENSE, distributed with this software.
# --------------------------------------------------------------------------------------
from typing import Generic, List, Optional, Tuple, TypeVar, Union, overload
K = TypeVar("K")
V = TypeVar("V")
D = TypeVar("D")
[docs]
class sortedmap(Generic[K, V]):
@overload
def get(self, key: K, default: None = None) -> Optional[V]: ...
@overload
def get(self, key: K, default: D) -> Union[V, D]: ...
@overload
def pop(self, key: K, default: None = None) -> V: ...
@overload
def pop(self, key: K, default: D) -> Union[V, D]: ...
[docs]
def clear(self) -> None: ...
[docs]
def keys(self) -> List[K]: ...
[docs]
def values(self) -> List[V]: ...
[docs]
def items(self) -> List[Tuple[K, V]]: ...
[docs]
def copy(self) -> "sortedmap[K, V]": ...
def __contains__(self, key: K) -> bool: ...
def __getitem__(self, key: K) -> V: ...
def __setitem__(self, key: K, value: V) -> None: ...
def __delitem__(self, key: K) -> None: ...
def __sizeof__(self) -> int: ...