from _typeshed import Incomplete

from ..domain.bucket import Bucket
from ._pages import _PageIterator

class BucketsApi:
    def __init__(self, influxdb_client) -> None: ...
    def create_bucket(
        self,
        bucket: Incomplete | None = None,
        bucket_name: Incomplete | None = None,
        org_id: Incomplete | None = None,
        retention_rules: Incomplete | None = None,
        description: Incomplete | None = None,
        org: Incomplete | None = None,
    ) -> Bucket: ...
    def update_bucket(self, bucket: Bucket) -> Bucket: ...
    def delete_bucket(self, bucket): ...
    def find_bucket_by_id(self, id): ...
    def find_bucket_by_name(self, bucket_name): ...
    def find_buckets(self, **kwargs): ...
    def find_buckets_iter(
        self, *, name: str = ..., org: str = ..., org_id: str = ..., after: str | None = None, limit: int = ...
    ) -> _PageIterator[Bucket]: ...
