from kubernetes_asyncio.client.api_client import ApiClient
from kubernetes_asyncio.client.models import V1APIResourceList
from kubernetes_asyncio.client.models import V1Status
from kubernetes_asyncio.client.models import V1beta1MutatingAdmissionPolicy
from kubernetes_asyncio.client.models import V1beta1MutatingAdmissionPolicyBinding
from kubernetes_asyncio.client.models import V1beta1MutatingAdmissionPolicyBindingList
from kubernetes_asyncio.client.models import V1beta1MutatingAdmissionPolicyList
from multidict import CIMultiDictProxy
from typing import Any
from typing import Awaitable

class AdmissionregistrationV1beta1Api:
    def __init__(self, api_client: ApiClient | None = None) -> None: ...
    def create_mutating_admission_policy(self, body: V1beta1MutatingAdmissionPolicy, **kwargs: Any) -> Awaitable[V1beta1MutatingAdmissionPolicy]: ...
    def create_mutating_admission_policy_binding(self, body: V1beta1MutatingAdmissionPolicyBinding, **kwargs: Any) -> Awaitable[V1beta1MutatingAdmissionPolicyBinding]: ...
    def create_mutating_admission_policy_binding_with_http_info(self, body: V1beta1MutatingAdmissionPolicyBinding, **kwargs: Any) -> Awaitable[tuple[V1beta1MutatingAdmissionPolicyBinding, int, CIMultiDictProxy]]: ...
    def create_mutating_admission_policy_with_http_info(self, body: V1beta1MutatingAdmissionPolicy, **kwargs: Any) -> Awaitable[tuple[V1beta1MutatingAdmissionPolicy, int, CIMultiDictProxy]]: ...
    def delete_collection_mutating_admission_policy(self, **kwargs: Any) -> Awaitable[V1Status]: ...
    def delete_collection_mutating_admission_policy_binding(self, **kwargs: Any) -> Awaitable[V1Status]: ...
    def delete_collection_mutating_admission_policy_binding_with_http_info(self, **kwargs: Any) -> Awaitable[tuple[V1Status, int, CIMultiDictProxy]]: ...
    def delete_collection_mutating_admission_policy_with_http_info(self, **kwargs: Any) -> Awaitable[tuple[V1Status, int, CIMultiDictProxy]]: ...
    def delete_mutating_admission_policy(self, name: str, **kwargs: Any) -> Awaitable[V1Status]: ...
    def delete_mutating_admission_policy_binding(self, name: str, **kwargs: Any) -> Awaitable[V1Status]: ...
    def delete_mutating_admission_policy_binding_with_http_info(self, name: str, **kwargs: Any) -> Awaitable[tuple[V1Status, int, CIMultiDictProxy]]: ...
    def delete_mutating_admission_policy_with_http_info(self, name: 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_mutating_admission_policy(self, **kwargs: Any) -> Awaitable[V1beta1MutatingAdmissionPolicyList]: ...
    def list_mutating_admission_policy_binding(self, **kwargs: Any) -> Awaitable[V1beta1MutatingAdmissionPolicyBindingList]: ...
    def list_mutating_admission_policy_binding_with_http_info(self, **kwargs: Any) -> Awaitable[tuple[V1beta1MutatingAdmissionPolicyBindingList, int, CIMultiDictProxy]]: ...
    def list_mutating_admission_policy_with_http_info(self, **kwargs: Any) -> Awaitable[tuple[V1beta1MutatingAdmissionPolicyList, int, CIMultiDictProxy]]: ...
    def patch_mutating_admission_policy(self, name: str, body: Any, **kwargs: Any) -> Awaitable[V1beta1MutatingAdmissionPolicy]: ...
    def patch_mutating_admission_policy_binding(self, name: str, body: Any, **kwargs: Any) -> Awaitable[V1beta1MutatingAdmissionPolicyBinding]: ...
    def patch_mutating_admission_policy_binding_with_http_info(self, name: str, body: Any, **kwargs: Any) -> Awaitable[tuple[V1beta1MutatingAdmissionPolicyBinding, int, CIMultiDictProxy]]: ...
    def patch_mutating_admission_policy_with_http_info(self, name: str, body: Any, **kwargs: Any) -> Awaitable[tuple[V1beta1MutatingAdmissionPolicy, int, CIMultiDictProxy]]: ...
    def read_mutating_admission_policy(self, name: str, **kwargs: Any) -> Awaitable[V1beta1MutatingAdmissionPolicy]: ...
    def read_mutating_admission_policy_binding(self, name: str, **kwargs: Any) -> Awaitable[V1beta1MutatingAdmissionPolicyBinding]: ...
    def read_mutating_admission_policy_binding_with_http_info(self, name: str, **kwargs: Any) -> Awaitable[tuple[V1beta1MutatingAdmissionPolicyBinding, int, CIMultiDictProxy]]: ...
    def read_mutating_admission_policy_with_http_info(self, name: str, **kwargs: Any) -> Awaitable[tuple[V1beta1MutatingAdmissionPolicy, int, CIMultiDictProxy]]: ...
    def replace_mutating_admission_policy(self, name: str, body: V1beta1MutatingAdmissionPolicy, **kwargs: Any) -> Awaitable[V1beta1MutatingAdmissionPolicy]: ...
    def replace_mutating_admission_policy_binding(self, name: str, body: V1beta1MutatingAdmissionPolicyBinding, **kwargs: Any) -> Awaitable[V1beta1MutatingAdmissionPolicyBinding]: ...
    def replace_mutating_admission_policy_binding_with_http_info(self, name: str, body: V1beta1MutatingAdmissionPolicyBinding, **kwargs: Any) -> Awaitable[tuple[V1beta1MutatingAdmissionPolicyBinding, int, CIMultiDictProxy]]: ...
    def replace_mutating_admission_policy_with_http_info(self, name: str, body: V1beta1MutatingAdmissionPolicy, **kwargs: Any) -> Awaitable[tuple[V1beta1MutatingAdmissionPolicy, int, CIMultiDictProxy]]: ...
