# Stubs for kazoo.client (Python 2)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.

from typing import Any

string_types = ... # type: Any
bytes_types = ... # type: Any
LOST_STATES = ... # type: Any
ENVI_VERSION = ... # type: Any
ENVI_VERSION_KEY = ... # type: Any
log = ... # type: Any

class KazooClient:
    logger = ... # type: Any
    handler = ... # type: Any
    auth_data = ... # type: Any
    default_acl = ... # type: Any
    randomize_hosts = ... # type: Any
    hosts = ... # type: Any
    chroot = ... # type: Any
    state = ... # type: Any
    state_listeners = ... # type: Any
    read_only = ... # type: Any
    retry = ... # type: Any
    Barrier = ... # type: Any
    Counter = ... # type: Any
    DoubleBarrier = ... # type: Any
    ChildrenWatch = ... # type: Any
    DataWatch = ... # type: Any
    Election = ... # type: Any
    NonBlockingLease = ... # type: Any
    MultiNonBlockingLease = ... # type: Any
    Lock = ... # type: Any
    Party = ... # type: Any
    Queue = ... # type: Any
    LockingQueue = ... # type: Any
    SetPartitioner = ... # type: Any
    Semaphore = ... # type: Any
    ShallowParty = ... # type: Any
    def __init__(self, hosts=..., timeout=..., client_id=..., handler=..., default_acl=..., auth_data=..., read_only=..., randomize_hosts=..., connection_retry=..., command_retry=..., logger=..., **kwargs) -> None: ...
    @property
    def client_state(self): ...
    @property
    def client_id(self): ...
    @property
    def connected(self): ...
    def set_hosts(self, hosts, randomize_hosts=...): ...
    def add_listener(self, listener): ...
    def remove_listener(self, listener): ...
    def start(self, timeout=...): ...
    def start_async(self): ...
    def stop(self): ...
    def restart(self): ...
    def close(self): ...
    def command(self, cmd=...): ...
    def server_version(self, retries=...): ...
    def add_auth(self, scheme, credential): ...
    def add_auth_async(self, scheme, credential): ...
    def unchroot(self, path): ...
    def sync_async(self, path): ...
    def sync(self, path): ...
    def create(self, path, value=..., acl=..., ephemeral=..., sequence=..., makepath=...): ...
    def create_async(self, path, value=..., acl=..., ephemeral=..., sequence=..., makepath=...): ...
    def ensure_path(self, path, acl=...): ...
    def ensure_path_async(self, path, acl=...): ...
    def exists(self, path, watch=...): ...
    def exists_async(self, path, watch=...): ...
    def get(self, path, watch=...): ...
    def get_async(self, path, watch=...): ...
    def get_children(self, path, watch=..., include_data=...): ...
    def get_children_async(self, path, watch=..., include_data=...): ...
    def get_acls(self, path): ...
    def get_acls_async(self, path): ...
    def set_acls(self, path, acls, version=...): ...
    def set_acls_async(self, path, acls, version=...): ...
    def set(self, path, value, version=...): ...
    def set_async(self, path, value, version=...): ...
    def transaction(self): ...
    def delete(self, path, version=..., recursive=...): ...
    def delete_async(self, path, version=...): ...
    def reconfig(self, joining, leaving, new_members, from_config=...): ...
    def reconfig_async(self, joining, leaving, new_members, from_config): ...

class TransactionRequest:
    client = ... # type: Any
    operations = ... # type: Any
    committed = ... # type: Any
    def __init__(self, client) -> None: ...
    def create(self, path, value=..., acl=..., ephemeral=..., sequence=...): ...
    def delete(self, path, version=...): ...
    def set_data(self, path, value, version=...): ...
    def check(self, path, version): ...
    def commit_async(self): ...
    def commit(self): ...
    def __enter__(self): ...
    def __exit__(self, exc_type, exc_value, exc_tb): ...

class KazooState:
    ...
