from _typeshed import Incomplete

class Future:
    info: Incomplete
    def __init__(self, info: str = ...) -> None: ...
    def done(self): ...
    def running(self): ...
    def wait(self) -> None: ...
    def check_success(self) -> None: ...
    def set_result(self, result) -> None: ...
    def set_exception(self, exception) -> None: ...
    def result(self): ...
    get_result: Incomplete
    def exception(self): ...
    get_exception: Incomplete
    def get_traceback(self): ...
    def add_done_callback(self, callback) -> None: ...
    def cancel(self) -> None: ...
    def cancelled(self): ...
    @staticmethod
    def wait_any(futures): ...
    @staticmethod
    def wait_all(futures): ...

class _TaskletFuture(Future):
    generator: Incomplete
    context: Incomplete
    waiting_on: Incomplete
    def __init__(self, generator, context, info: str = ...) -> None: ...
    def cancel(self) -> None: ...

class _MultiFuture(Future):
    def __init__(self, dependencies) -> None: ...
    def cancel(self) -> None: ...

def tasklet(wrapped): ...
def wait_any(futures): ...
def wait_all(futures) -> None: ...

class Return(Exception): ...

def sleep(seconds): ...
def add_flow_exception(*args, **kwargs) -> None: ...
def make_context(*args, **kwargs) -> None: ...
def make_default_context(*args, **kwargs) -> None: ...

class QueueFuture:
    def __init__(self, *args, **kwargs) -> None: ...

class ReducingFuture:
    def __init__(self, *args, **kwargs) -> None: ...

class SerialQueueFuture:
    def __init__(self, *args, **kwargs) -> None: ...

def set_context(*args, **kwargs) -> None: ...
def synctasklet(wrapped): ...
def toplevel(wrapped): ...
