# Stubs for jsonrpc.jsonrpc2 (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.

from .base import JSONRPCBaseRequest, JSONRPCBaseResponse
from .exceptions import JSONRPCError, JSONRPCInvalidRequestException
from typing import Any

class JSONRPC20Request(JSONRPCBaseRequest):
    JSONRPC_VERSION: str = ...
    REQUIRED_FIELDS: Any = ...
    POSSIBLE_FIELDS: Any = ...
    @property
    def data(self): ...
    @data.setter
    def data(self, value: Any) -> None: ...
    @property
    def method(self): ...
    @method.setter
    def method(self, value: Any) -> None: ...
    @property
    def params(self): ...
    @params.setter
    def params(self, value: Any) -> None: ...
    @classmethod
    def from_json(cls, json_str: Any): ...
    @classmethod
    def from_data(cls, data: Any): ...

class JSONRPC20BatchRequest:
    JSONRPC_VERSION: str = ...
    requests: Any = ...
    def __init__(self, *requests: Any) -> None: ...
    @classmethod
    def from_json(cls, json_str: Any): ...
    @property
    def json(self): ...
    def __iter__(self): ...

class JSONRPC20Response(JSONRPCBaseResponse):
    JSONRPC_VERSION: str = ...
    @property
    def data(self): ...
    @data.setter
    def data(self, value: Any) -> None: ...
    @property
    def result(self): ...
    @result.setter
    def result(self, value: Any) -> None: ...
    @property
    def error(self): ...
    @error.setter
    def error(self, value: Any) -> None: ...

class JSONRPC20BatchResponse:
    JSONRPC_VERSION: str = ...
    responses: Any = ...
    request: Any = ...
    def __init__(self, *responses: Any) -> None: ...
    @property
    def data(self): ...
    @property
    def json(self): ...
    def __iter__(self): ...
