from kubernetes_asyncio.client.api_client import ApiClient
from kubernetes_asyncio.client.models import V1APIResourceList
from kubernetes_asyncio.client.models import V1ClusterRole
from kubernetes_asyncio.client.models import V1ClusterRoleBinding
from kubernetes_asyncio.client.models import V1ClusterRoleBindingList
from kubernetes_asyncio.client.models import V1ClusterRoleList
from kubernetes_asyncio.client.models import V1Role
from kubernetes_asyncio.client.models import V1RoleBinding
from kubernetes_asyncio.client.models import V1RoleBindingList
from kubernetes_asyncio.client.models import V1RoleList
from kubernetes_asyncio.client.models import V1Status
from multidict import CIMultiDictProxy
from typing import Any
from typing import Awaitable

class RbacAuthorizationV1Api:
    def __init__(self, api_client: ApiClient | None = None) -> None: ...
    def create_cluster_role(self, body: V1ClusterRole, **kwargs: Any) -> Awaitable[V1ClusterRole]: ...
    def create_cluster_role_binding(self, body: V1ClusterRoleBinding, **kwargs: Any) -> Awaitable[V1ClusterRoleBinding]: ...
    def create_cluster_role_binding_with_http_info(self, body: V1ClusterRoleBinding, **kwargs: Any) -> Awaitable[tuple[V1ClusterRoleBinding, int, CIMultiDictProxy]]: ...
    def create_cluster_role_with_http_info(self, body: V1ClusterRole, **kwargs: Any) -> Awaitable[tuple[V1ClusterRole, int, CIMultiDictProxy]]: ...
    def create_namespaced_role(self, namespace: str, body: V1Role, **kwargs: Any) -> Awaitable[V1Role]: ...
    def create_namespaced_role_binding(self, namespace: str, body: V1RoleBinding, **kwargs: Any) -> Awaitable[V1RoleBinding]: ...
    def create_namespaced_role_binding_with_http_info(self, namespace: str, body: V1RoleBinding, **kwargs: Any) -> Awaitable[tuple[V1RoleBinding, int, CIMultiDictProxy]]: ...
    def create_namespaced_role_with_http_info(self, namespace: str, body: V1Role, **kwargs: Any) -> Awaitable[tuple[V1Role, int, CIMultiDictProxy]]: ...
    def delete_cluster_role(self, name: str, **kwargs: Any) -> Awaitable[V1Status]: ...
    def delete_cluster_role_binding(self, name: str, **kwargs: Any) -> Awaitable[V1Status]: ...
    def delete_cluster_role_binding_with_http_info(self, name: str, **kwargs: Any) -> Awaitable[tuple[V1Status, int, CIMultiDictProxy]]: ...
    def delete_cluster_role_with_http_info(self, name: str, **kwargs: Any) -> Awaitable[tuple[V1Status, int, CIMultiDictProxy]]: ...
    def delete_collection_cluster_role(self, **kwargs: Any) -> Awaitable[V1Status]: ...
    def delete_collection_cluster_role_binding(self, **kwargs: Any) -> Awaitable[V1Status]: ...
    def delete_collection_cluster_role_binding_with_http_info(self, **kwargs: Any) -> Awaitable[tuple[V1Status, int, CIMultiDictProxy]]: ...
    def delete_collection_cluster_role_with_http_info(self, **kwargs: Any) -> Awaitable[tuple[V1Status, int, CIMultiDictProxy]]: ...
    def delete_collection_namespaced_role(self, namespace: str, **kwargs: Any) -> Awaitable[V1Status]: ...
    def delete_collection_namespaced_role_binding(self, namespace: str, **kwargs: Any) -> Awaitable[V1Status]: ...
    def delete_collection_namespaced_role_binding_with_http_info(self, namespace: str, **kwargs: Any) -> Awaitable[tuple[V1Status, int, CIMultiDictProxy]]: ...
    def delete_collection_namespaced_role_with_http_info(self, namespace: str, **kwargs: Any) -> Awaitable[tuple[V1Status, int, CIMultiDictProxy]]: ...
    def delete_namespaced_role(self, name: str, namespace: str, **kwargs: Any) -> Awaitable[V1Status]: ...
    def delete_namespaced_role_binding(self, name: str, namespace: str, **kwargs: Any) -> Awaitable[V1Status]: ...
    def delete_namespaced_role_binding_with_http_info(self, name: str, namespace: str, **kwargs: Any) -> Awaitable[tuple[V1Status, int, CIMultiDictProxy]]: ...
    def delete_namespaced_role_with_http_info(self, name: str, namespace: str, **kwargs: Any) -> Awaitable[tuple[V1Status, int, CIMultiDictProxy]]: ...
    def get_api_resources(self, **kwargs: Any) -> Awaitable[V1APIResourceList]: ...
    def get_api_resources_with_http_info(self, **kwargs: Any) -> Awaitable[tuple[V1APIResourceList, int, CIMultiDictProxy]]: ...
    def list_cluster_role(self, **kwargs: Any) -> Awaitable[V1ClusterRoleList]: ...
    def list_cluster_role_binding(self, **kwargs: Any) -> Awaitable[V1ClusterRoleBindingList]: ...
    def list_cluster_role_binding_with_http_info(self, **kwargs: Any) -> Awaitable[tuple[V1ClusterRoleBindingList, int, CIMultiDictProxy]]: ...
    def list_cluster_role_with_http_info(self, **kwargs: Any) -> Awaitable[tuple[V1ClusterRoleList, int, CIMultiDictProxy]]: ...
    def list_namespaced_role(self, namespace: str, **kwargs: Any) -> Awaitable[V1RoleList]: ...
    def list_namespaced_role_binding(self, namespace: str, **kwargs: Any) -> Awaitable[V1RoleBindingList]: ...
    def list_namespaced_role_binding_with_http_info(self, namespace: str, **kwargs: Any) -> Awaitable[tuple[V1RoleBindingList, int, CIMultiDictProxy]]: ...
    def list_namespaced_role_with_http_info(self, namespace: str, **kwargs: Any) -> Awaitable[tuple[V1RoleList, int, CIMultiDictProxy]]: ...
    def list_role_binding_for_all_namespaces(self, **kwargs: Any) -> Awaitable[V1RoleBindingList]: ...
    def list_role_binding_for_all_namespaces_with_http_info(self, **kwargs: Any) -> Awaitable[tuple[V1RoleBindingList, int, CIMultiDictProxy]]: ...
    def list_role_for_all_namespaces(self, **kwargs: Any) -> Awaitable[V1RoleList]: ...
    def list_role_for_all_namespaces_with_http_info(self, **kwargs: Any) -> Awaitable[tuple[V1RoleList, int, CIMultiDictProxy]]: ...
    def patch_cluster_role(self, name: str, body: Any, **kwargs: Any) -> Awaitable[V1ClusterRole]: ...
    def patch_cluster_role_binding(self, name: str, body: Any, **kwargs: Any) -> Awaitable[V1ClusterRoleBinding]: ...
    def patch_cluster_role_binding_with_http_info(self, name: str, body: Any, **kwargs: Any) -> Awaitable[tuple[V1ClusterRoleBinding, int, CIMultiDictProxy]]: ...
    def patch_cluster_role_with_http_info(self, name: str, body: Any, **kwargs: Any) -> Awaitable[tuple[V1ClusterRole, int, CIMultiDictProxy]]: ...
    def patch_namespaced_role(self, name: str, namespace: str, body: Any, **kwargs: Any) -> Awaitable[V1Role]: ...
    def patch_namespaced_role_binding(self, name: str, namespace: str, body: Any, **kwargs: Any) -> Awaitable[V1RoleBinding]: ...
    def patch_namespaced_role_binding_with_http_info(self, name: str, namespace: str, body: Any, **kwargs: Any) -> Awaitable[tuple[V1RoleBinding, int, CIMultiDictProxy]]: ...
    def patch_namespaced_role_with_http_info(self, name: str, namespace: str, body: Any, **kwargs: Any) -> Awaitable[tuple[V1Role, int, CIMultiDictProxy]]: ...
    def read_cluster_role(self, name: str, **kwargs: Any) -> Awaitable[V1ClusterRole]: ...
    def read_cluster_role_binding(self, name: str, **kwargs: Any) -> Awaitable[V1ClusterRoleBinding]: ...
    def read_cluster_role_binding_with_http_info(self, name: str, **kwargs: Any) -> Awaitable[tuple[V1ClusterRoleBinding, int, CIMultiDictProxy]]: ...
    def read_cluster_role_with_http_info(self, name: str, **kwargs: Any) -> Awaitable[tuple[V1ClusterRole, int, CIMultiDictProxy]]: ...
    def read_namespaced_role(self, name: str, namespace: str, **kwargs: Any) -> Awaitable[V1Role]: ...
    def read_namespaced_role_binding(self, name: str, namespace: str, **kwargs: Any) -> Awaitable[V1RoleBinding]: ...
    def read_namespaced_role_binding_with_http_info(self, name: str, namespace: str, **kwargs: Any) -> Awaitable[tuple[V1RoleBinding, int, CIMultiDictProxy]]: ...
    def read_namespaced_role_with_http_info(self, name: str, namespace: str, **kwargs: Any) -> Awaitable[tuple[V1Role, int, CIMultiDictProxy]]: ...
    def replace_cluster_role(self, name: str, body: V1ClusterRole, **kwargs: Any) -> Awaitable[V1ClusterRole]: ...
    def replace_cluster_role_binding(self, name: str, body: V1ClusterRoleBinding, **kwargs: Any) -> Awaitable[V1ClusterRoleBinding]: ...
    def replace_cluster_role_binding_with_http_info(self, name: str, body: V1ClusterRoleBinding, **kwargs: Any) -> Awaitable[tuple[V1ClusterRoleBinding, int, CIMultiDictProxy]]: ...
    def replace_cluster_role_with_http_info(self, name: str, body: V1ClusterRole, **kwargs: Any) -> Awaitable[tuple[V1ClusterRole, int, CIMultiDictProxy]]: ...
    def replace_namespaced_role(self, name: str, namespace: str, body: V1Role, **kwargs: Any) -> Awaitable[V1Role]: ...
    def replace_namespaced_role_binding(self, name: str, namespace: str, body: V1RoleBinding, **kwargs: Any) -> Awaitable[V1RoleBinding]: ...
    def replace_namespaced_role_binding_with_http_info(self, name: str, namespace: str, body: V1RoleBinding, **kwargs: Any) -> Awaitable[tuple[V1RoleBinding, int, CIMultiDictProxy]]: ...
    def replace_namespaced_role_with_http_info(self, name: str, namespace: str, body: V1Role, **kwargs: Any) -> Awaitable[tuple[V1Role, int, CIMultiDictProxy]]: ...
