from _typeshed import Incomplete

from kafka.coordinator.base import BaseCoordinator

log: Incomplete

class ConsumerCoordinator(BaseCoordinator):
    DEFAULT_CONFIG: Incomplete
    config: Incomplete
    auto_commit_interval: Incomplete
    next_auto_commit_deadline: Incomplete
    completed_offset_commits: Incomplete
    def __init__(self, client, subscription, **configs) -> None: ...
    def __del__(self) -> None: ...
    def protocol_type(self): ...
    def group_protocols(self): ...
    def poll(self, timeout_ms=None): ...
    def time_to_next_poll(self): ...
    def need_rejoin(self): ...
    def refresh_committed_offsets_if_needed(self, timeout_ms=None): ...
    def fetch_committed_offsets(self, partitions, timeout_ms=None): ...
    def close(self, autocommit: bool = True, timeout_ms=None) -> None: ...  # type: ignore[override]
    def commit_offsets_async(self, offsets, callback=None): ...
    def commit_offsets_sync(self, offsets, timeout_ms=None): ...
    def maybe_auto_commit_offsets_now(self) -> None: ...

class ConsumerCoordinatorMetrics:
    metrics: Incomplete
    metric_group_name: Incomplete
    commit_latency: Incomplete
    def __init__(self, metrics, metric_group_prefix, subscription) -> None: ...
