from _typeshed import Incomplete

log: Incomplete

class ClusterMetadata:
    DEFAULT_CONFIG: Incomplete
    need_all_topic_metadata: bool
    unauthorized_topics: Incomplete
    internal_topics: Incomplete
    controller: Incomplete
    cluster_id: Incomplete
    config: Incomplete
    def __init__(self, **configs) -> None: ...
    def is_bootstrap(self, node_id): ...
    def brokers(self): ...
    def broker_metadata(self, broker_id): ...
    def partitions_for_topic(self, topic): ...
    def available_partitions_for_topic(self, topic): ...
    def leader_for_partition(self, partition): ...
    def leader_epoch_for_partition(self, partition): ...
    def partitions_for_broker(self, broker_id): ...
    def coordinator_for_group(self, group): ...
    def ttl(self): ...
    def refresh_backoff(self): ...
    def request_update(self): ...
    @property
    def need_update(self): ...
    def topics(self, exclude_internal_topics: bool = True): ...
    def failed_update(self, exception) -> None: ...
    def update_metadata(self, metadata): ...
    def add_listener(self, listener) -> None: ...
    def remove_listener(self, listener) -> None: ...
    def add_coordinator(self, response, coord_type, coord_key): ...
    def with_partitions(self, partitions_to_add): ...

def collect_hosts(hosts, randomize: bool = True): ...
