from kubernetes_asyncio.client.api_client import ApiClient
from kubernetes_asyncio.client.models import V1APIResourceList
from kubernetes_asyncio.client.models import V1CustomResourceDefinition
from kubernetes_asyncio.client.models import V1CustomResourceDefinitionList
from kubernetes_asyncio.client.models import V1Status
from multidict import CIMultiDictProxy
from typing import Any
from typing import Awaitable

class ApiextensionsV1Api:
    def __init__(self, api_client: ApiClient | None = None) -> None: ...
    def create_custom_resource_definition(self, body: V1CustomResourceDefinition, **kwargs: Any) -> Awaitable[V1CustomResourceDefinition]: ...
    def create_custom_resource_definition_with_http_info(self, body: V1CustomResourceDefinition, **kwargs: Any) -> Awaitable[tuple[V1CustomResourceDefinition, int, CIMultiDictProxy]]: ...
    def delete_collection_custom_resource_definition(self, **kwargs: Any) -> Awaitable[V1Status]: ...
    def delete_collection_custom_resource_definition_with_http_info(self, **kwargs: Any) -> Awaitable[tuple[V1Status, int, CIMultiDictProxy]]: ...
    def delete_custom_resource_definition(self, name: str, **kwargs: Any) -> Awaitable[V1Status]: ...
    def delete_custom_resource_definition_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_custom_resource_definition(self, **kwargs: Any) -> Awaitable[V1CustomResourceDefinitionList]: ...
    def list_custom_resource_definition_with_http_info(self, **kwargs: Any) -> Awaitable[tuple[V1CustomResourceDefinitionList, int, CIMultiDictProxy]]: ...
    def patch_custom_resource_definition(self, name: str, body: Any, **kwargs: Any) -> Awaitable[V1CustomResourceDefinition]: ...
    def patch_custom_resource_definition_status(self, name: str, body: Any, **kwargs: Any) -> Awaitable[V1CustomResourceDefinition]: ...
    def patch_custom_resource_definition_status_with_http_info(self, name: str, body: Any, **kwargs: Any) -> Awaitable[tuple[V1CustomResourceDefinition, int, CIMultiDictProxy]]: ...
    def patch_custom_resource_definition_with_http_info(self, name: str, body: Any, **kwargs: Any) -> Awaitable[tuple[V1CustomResourceDefinition, int, CIMultiDictProxy]]: ...
    def read_custom_resource_definition(self, name: str, **kwargs: Any) -> Awaitable[V1CustomResourceDefinition]: ...
    def read_custom_resource_definition_status(self, name: str, **kwargs: Any) -> Awaitable[V1CustomResourceDefinition]: ...
    def read_custom_resource_definition_status_with_http_info(self, name: str, **kwargs: Any) -> Awaitable[tuple[V1CustomResourceDefinition, int, CIMultiDictProxy]]: ...
    def read_custom_resource_definition_with_http_info(self, name: str, **kwargs: Any) -> Awaitable[tuple[V1CustomResourceDefinition, int, CIMultiDictProxy]]: ...
    def replace_custom_resource_definition(self, name: str, body: V1CustomResourceDefinition, **kwargs: Any) -> Awaitable[V1CustomResourceDefinition]: ...
    def replace_custom_resource_definition_status(self, name: str, body: V1CustomResourceDefinition, **kwargs: Any) -> Awaitable[V1CustomResourceDefinition]: ...
    def replace_custom_resource_definition_status_with_http_info(self, name: str, body: V1CustomResourceDefinition, **kwargs: Any) -> Awaitable[tuple[V1CustomResourceDefinition, int, CIMultiDictProxy]]: ...
    def replace_custom_resource_definition_with_http_info(self, name: str, body: V1CustomResourceDefinition, **kwargs: Any) -> Awaitable[tuple[V1CustomResourceDefinition, int, CIMultiDictProxy]]: ...
