from datetime import ( datetime, timedelta, ) from django.db.models.base import Model from typing import ( Dict, Optional, Union, ) class SessionBase: def __contains__(self, key: str) -> bool: ... def __delitem__(self, key: str) -> None: ... def __getitem__(self, key: str) -> Union[str, Model, int]: ... def __init__(self, session_key: Optional[str] = ...) -> None: ... def __setitem__(self, key: str, value: Union[str, datetime, int]) -> None: ... def _get_new_session_key(self) -> str: ... def _get_or_create_session_key(self) -> str: ... def _get_session( self, no_load: bool = ... ) -> Dict[str, Union[Model, int, str, datetime]]: ... def _get_session_key(self) -> Optional[str]: ... def _hash(self, value: bytes) -> str: ... def _set_session_key(self, value: Optional[str]) -> None: ... def _validate_session_key(self, key: Optional[str]) -> Optional[Union[str, bool]]: ... def clear(self) -> None: ... def cycle_key(self) -> None: ... def decode(self, session_data: Union[str, bytes]) -> Dict[str, Union[str, int]]: ... def encode(self, session_dict: Dict[str, Union[int, str, datetime]]) -> str: ... def flush(self) -> None: ... def get(self, key: str, default: Optional[str] = ...) -> Optional[Union[str, datetime, int]]: ... def get_expire_at_browser_close(self) -> bool: ... def get_expiry_age(self, **kwargs) -> int: ... def get_expiry_date(self, **kwargs) -> datetime: ... def is_empty(self) -> bool: ... def pop(self, key: str, default: object = ...) -> Union[str, int]: ... def set_expiry(self, value: Optional[Union[int, datetime, timedelta]]) -> None: ... def setdefault(self, key: str, value: str) -> str: ... def test_cookie_worked(self) -> bool: ... def update(self, dict_: Dict[str, int]) -> None: ...