#  Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.

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 = ..., use_lifo: bool = ...) -> None: ...
    def qsize(self): ...
    def empty(self): ...
    def full(self): ...
    def put(self, item, block: bool = ..., timeout: Any | None = ...) -> None: ...
    def put_nowait(self, item): ...
    def get(self, block: bool = ..., timeout: Any | None = ...): ...
    def get_nowait(self): ...

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

class FallbackAsyncAdaptedQueue(AsyncAdaptedQueue):
    await_: Any
