from _typeshed import Incomplete
from collections.abc import Generator
from ksrpc.connections import BaseConnection

__all__ = ['RpcClient', 'rpc_iterator', 'Self']

class _Self: ...

Self: Incomplete

class RpcCall:
    name: Incomplete
    args: Incomplete
    kwargs: Incomplete
    def __init__(self, name, args, kwargs) -> None: ...

class RpcClient:
    def __init__(self, module: str, connection: BaseConnection, ref_id: id = 0, calls: list[RpcCall] = [], last_call: RpcCall = None, lazy: bool = False) -> None: ...
    def __del__(self) -> None: ...
    def __getattr__(self, name): ...
    def __call__(self, *args, **kwargs): ...
    async def ___call___(self): ...
    def collect(self): ...
    def generate_stub(self): ...
    def __getitem__(self, item): ...
    def __next__(self): ...
    async def __anext__(self): ...
    def __iter__(self): ...
    def __aiter__(self): ...

async def rpc_iterator(generator) -> Generator[Incomplete]: ...
