from .compat import importlib_metadata_get as importlib_metadata_get
from _typeshed import Incomplete

def update_wrapper(decorated, fn): ...

class PluginLoader:
    group: Incomplete
    impls: Incomplete
    def __init__(self, group) -> None: ...
    def load(self, name): ...
    def register(self, name, modulepath, objname): ...

def verify_directory(dir_) -> None: ...
def to_list(x, default: Incomplete | None = ...): ...

class memoized_property:
    fget: Incomplete
    __doc__: Incomplete
    __name__: Incomplete
    def __init__(self, fget, doc: Incomplete | None = ...) -> None: ...
    def __get__(self, obj, cls): ...

class memoized_instancemethod:
    fget: Incomplete
    __doc__: Incomplete
    __name__: Incomplete
    def __init__(self, fget, doc: Incomplete | None = ...) -> None: ...
    def __get__(self, obj, cls): ...

class SetLikeDict(dict):
    def union(self, other): ...

class FastEncodingBuffer:
    data: Incomplete
    encoding: Incomplete
    delim: str
    errors: Incomplete
    write: Incomplete
    def __init__(self, encoding: Incomplete | None = ..., errors: str = ...) -> None: ...
    def truncate(self) -> None: ...
    def getvalue(self): ...

class LRUCache(dict):
    class _Item:
        key: Incomplete
        value: Incomplete
        timestamp: Incomplete
        def __init__(self, key, value) -> None: ...
        def __repr__(self): ...
    capacity: Incomplete
    threshold: Incomplete
    def __init__(self, capacity, threshold: float = ...) -> None: ...
    def __getitem__(self, key): ...
    def values(self): ...
    def setdefault(self, key, value): ...
    def __setitem__(self, key, value) -> None: ...
    def _manage_size(self) -> None: ...

_PYTHON_MAGIC_COMMENT_re: Incomplete

def parse_encoding(fp): ...
def sorted_dict_repr(d): ...
def restore__ast(_ast) -> None: ...
def read_file(path, mode: str = ...): ...
def read_python_file(path): ...
