from datetime import datetime from io import StringIO, TextIOWrapper from typing import Any, List, Optional, Tuple, Type, Union from django.core.files.base import File from django.utils.functional import LazyObject class Storage: def open(self, name: str, mode: str = ...) -> File: ... def save( self, name: Optional[str], content: Union[StringIO, TextIOWrapper, File], max_length: Optional[int] = ... ) -> str: ... def get_valid_name(self, name: str) -> str: ... def get_available_name(self, name: str, max_length: Optional[int] = ...) -> str: ... def generate_filename(self, filename: str) -> str: ... def path(self, name: str) -> Any: ... def delete(self, name: Any) -> None: ... def exists(self, name: Any) -> None: ... def listdir(self, path: Any) -> None: ... def size(self, name: Any) -> None: ... def url(self, name: Any) -> None: ... def get_accessed_time(self, name: Any) -> None: ... def get_created_time(self, name: Any) -> None: ... def get_modified_time(self, name: Any) -> None: ... class FileSystemStorage(Storage): def __init__( self, location: Optional[str] = ..., base_url: Optional[str] = ..., file_permissions_mode: Optional[int] = ..., directory_permissions_mode: Optional[int] = ..., ) -> None: ... def base_location(self) -> str: ... def location(self) -> str: ... def base_url(self) -> str: ... def file_permissions_mode(self) -> Optional[int]: ... def directory_permissions_mode(self) -> Optional[int]: ... def delete(self, name: str) -> None: ... def exists(self, name: str) -> bool: ... def listdir(self, path: str) -> Tuple[List[str], List[str]]: ... def path(self, name: str) -> str: ... def size(self, name: str) -> int: ... def url(self, name: Optional[str]) -> str: ... def get_accessed_time(self, name: str) -> datetime: ... def get_created_time(self, name: str) -> datetime: ... def get_modified_time(self, name: str) -> datetime: ... class DefaultStorage(LazyObject): ... default_storage: Any