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

import io
import types
from typing import Any, Optional

PY2: Any
PY3: Any
string_types: Any
integer_types: Any
class_types: Any
text_type = str
binary_type = bytes
MAXSIZE: Any
text_type = unicode
binary_type = str

class X:
    def __len__(self): ...

class _LazyDescr:
    name: Any = ...
    def __init__(self, name: Any) -> None: ...
    def __get__(self, obj: Any, tp: Any): ...

class MovedModule(_LazyDescr):
    mod: Any = ...
    def __init__(self, name: Any, old: Any, new: Optional[Any] = ...) -> None: ...

class MovedAttribute(_LazyDescr):
    mod: Any = ...
    attr: Any = ...
    def __init__(self, name: Any, old_mod: Any, new_mod: Any, old_attr: Optional[Any] = ..., new_attr: Optional[Any] = ...) -> None: ...

class _MovedItems(types.ModuleType): ...

moves: Any
class Module_six_moves_urllib_parse(types.ModuleType): ...
class Module_six_moves_urllib_error(types.ModuleType): ...
class Module_six_moves_urllib_request(types.ModuleType): ...
class Module_six_moves_urllib_response(types.ModuleType): ...
class Module_six_moves_urllib_robotparser(types.ModuleType): ...

class Module_six_moves_urllib(types.ModuleType):
    parse: Any = ...
    error: Any = ...
    request: Any = ...
    response: Any = ...
    robotparser: Any = ...

def add_move(move: Any) -> None: ...
def remove_move(name: Any) -> None: ...
advance_iterator = next
next = advance_iterator
callable = callable

def get_unbound_function(unbound: Any): ...
create_bound_method = types.MethodType
Iterator = object

class Iterator:
    def next(self): ...
callable = callable
get_method_function: Any
get_method_self: Any
get_function_closure: Any
get_function_code: Any
get_function_defaults: Any
get_function_globals: Any

def iterkeys(d: Any, **kw: Any): ...
def itervalues(d: Any, **kw: Any): ...
def iteritems(d: Any, **kw: Any): ...
def iterlists(d: Any, **kw: Any): ...
def b(s: Any): ...
def u(s: Any): ...
unichr = chr

def int2byte(i: Any): ...

int2byte: Any
byte2int: Any
indexbytes: Any
iterbytes = iter
StringIO = io.StringIO
BytesIO = io.BytesIO
unichr = unichr
int2byte = chr
exec_: Any

def reraise(tp: Any, value: Any, tb: Optional[Any] = ...) -> None: ...

print_: Any

def with_metaclass(meta: Any, *bases: Any): ...
def add_metaclass(metaclass: Any): ...
