from typing import Tuple, List

class AdaptivePipeLineCacheImpl:
    def __init__(self, maxsize: int) -> None: ...
    
    def __getitem__(self, key: int) -> Tuple[float, int]: ...
    def __setitem__(self, key: int, value: Tuple[float, int]) -> None: ...
    def __delitem__(self, key: int) -> None: ...
    def __contains__(self, key: int) -> bool: ...
    def __len__(self) -> int: ...
    def __repr__(self) -> str: ...
    
    def get(self, key: int, default: Tuple[float, int] = ...) -> Tuple[float, int]: ...
    def keys(self) -> List[int]: ...
    def values(self) -> List[Tuple[float, int]]: ...
    def clear(self) -> None: ...
    def popitem(self) -> Tuple[int, Tuple[float, int]]: ...
    
    @property
    def maxsize(self) -> int: ...
    
    @property
    def currsize(self) -> int: ...
    
    def empty(self) -> bool: ...
