from _typeshed import Incomplete
from typing import Any

class Empty(Exception): ...
class Full(Exception): ...

class Queue:
    mutex: Any
    not_empty: Any
    not_full: Any
    use_lifo: Any
    def __init__(self, maxsize: int = 0, use_lifo: bool = False) -> None: ...
    def qsize(self): ...
    def empty(self): ...
    def full(self): ...
    def put(self, item, block: bool = True, timeout: Incomplete | None = None) -> None: ...
    def put_nowait(self, item): ...
    def get(self, block: bool = True, timeout: Incomplete | None = None): ...
    def get_nowait(self): ...

class AsyncAdaptedQueue:
    await_: Any
    use_lifo: Any
    maxsize: Any
    def __init__(self, maxsize: int = 0, use_lifo: bool = False) -> None: ...
    def empty(self): ...
    def full(self): ...
    def qsize(self): ...
    def put_nowait(self, item): ...
    def put(self, item, block: bool = True, timeout: Incomplete | None = None): ...
    def get_nowait(self): ...
    def get(self, block: bool = True, timeout: Incomplete | None = None): ...

class FallbackAsyncAdaptedQueue(AsyncAdaptedQueue):
    await_: Any
