from typing import Dict, List, Optional, Sequence, Union
from weaviate.collections.classes.tenants import Tenant
from weaviate.collections.tenants.tenants import _TenantsBase

class _Tenants(_TenantsBase):
    def create(self, tenants: Union[str, Tenant, Sequence[Union[str, Tenant]]]) -> None: ...
    def remove(self, tenants: Union[str, Tenant, Sequence[Union[str, Tenant]]]) -> None: ...
    def get(self) -> Dict[str, Tenant]: ...
    def get_by_names(self, tenants: Sequence[Union[str, Tenant]]) -> Dict[str, Tenant]: ...
    def get_by_name(self, tenant: Union[str, Tenant]) -> Optional[Tenant]: ...
    def update(self, tenants: Union[Tenant, List[Tenant]]) -> None: ...
    def exists(self, tenant: Union[str, Tenant]) -> bool: ...
