from kubernetes_asyncio.client.api_client import ApiClient
from kubernetes_asyncio.client.models import V1APIResourceList
from kubernetes_asyncio.client.models import V1CSIDriver
from kubernetes_asyncio.client.models import V1CSIDriverList
from kubernetes_asyncio.client.models import V1CSINode
from kubernetes_asyncio.client.models import V1CSINodeList
from kubernetes_asyncio.client.models import V1CSIStorageCapacity
from kubernetes_asyncio.client.models import V1CSIStorageCapacityList
from kubernetes_asyncio.client.models import V1Status
from kubernetes_asyncio.client.models import V1StorageClass
from kubernetes_asyncio.client.models import V1StorageClassList
from kubernetes_asyncio.client.models import V1VolumeAttachment
from kubernetes_asyncio.client.models import V1VolumeAttachmentList
from kubernetes_asyncio.client.models import V1VolumeAttributesClass
from kubernetes_asyncio.client.models import V1VolumeAttributesClassList
from multidict import CIMultiDictProxy
from typing import Any
from typing import Awaitable

class StorageV1Api:
    def __init__(self, api_client: ApiClient | None = None) -> None: ...
    def create_csi_driver(self, body: V1CSIDriver, **kwargs: Any) -> Awaitable[V1CSIDriver]: ...
    def create_csi_driver_with_http_info(self, body: V1CSIDriver, **kwargs: Any) -> Awaitable[tuple[V1CSIDriver, int, CIMultiDictProxy]]: ...
    def create_csi_node(self, body: V1CSINode, **kwargs: Any) -> Awaitable[V1CSINode]: ...
    def create_csi_node_with_http_info(self, body: V1CSINode, **kwargs: Any) -> Awaitable[tuple[V1CSINode, int, CIMultiDictProxy]]: ...
    def create_namespaced_csi_storage_capacity(self, namespace: str, body: V1CSIStorageCapacity, **kwargs: Any) -> Awaitable[V1CSIStorageCapacity]: ...
    def create_namespaced_csi_storage_capacity_with_http_info(self, namespace: str, body: V1CSIStorageCapacity, **kwargs: Any) -> Awaitable[tuple[V1CSIStorageCapacity, int, CIMultiDictProxy]]: ...
    def create_storage_class(self, body: V1StorageClass, **kwargs: Any) -> Awaitable[V1StorageClass]: ...
    def create_storage_class_with_http_info(self, body: V1StorageClass, **kwargs: Any) -> Awaitable[tuple[V1StorageClass, int, CIMultiDictProxy]]: ...
    def create_volume_attachment(self, body: V1VolumeAttachment, **kwargs: Any) -> Awaitable[V1VolumeAttachment]: ...
    def create_volume_attachment_with_http_info(self, body: V1VolumeAttachment, **kwargs: Any) -> Awaitable[tuple[V1VolumeAttachment, int, CIMultiDictProxy]]: ...
    def create_volume_attributes_class(self, body: V1VolumeAttributesClass, **kwargs: Any) -> Awaitable[V1VolumeAttributesClass]: ...
    def create_volume_attributes_class_with_http_info(self, body: V1VolumeAttributesClass, **kwargs: Any) -> Awaitable[tuple[V1VolumeAttributesClass, int, CIMultiDictProxy]]: ...
    def delete_collection_csi_driver(self, **kwargs: Any) -> Awaitable[V1Status]: ...
    def delete_collection_csi_driver_with_http_info(self, **kwargs: Any) -> Awaitable[tuple[V1Status, int, CIMultiDictProxy]]: ...
    def delete_collection_csi_node(self, **kwargs: Any) -> Awaitable[V1Status]: ...
    def delete_collection_csi_node_with_http_info(self, **kwargs: Any) -> Awaitable[tuple[V1Status, int, CIMultiDictProxy]]: ...
    def delete_collection_namespaced_csi_storage_capacity(self, namespace: str, **kwargs: Any) -> Awaitable[V1Status]: ...
    def delete_collection_namespaced_csi_storage_capacity_with_http_info(self, namespace: str, **kwargs: Any) -> Awaitable[tuple[V1Status, int, CIMultiDictProxy]]: ...
    def delete_collection_storage_class(self, **kwargs: Any) -> Awaitable[V1Status]: ...
    def delete_collection_storage_class_with_http_info(self, **kwargs: Any) -> Awaitable[tuple[V1Status, int, CIMultiDictProxy]]: ...
    def delete_collection_volume_attachment(self, **kwargs: Any) -> Awaitable[V1Status]: ...
    def delete_collection_volume_attachment_with_http_info(self, **kwargs: Any) -> Awaitable[tuple[V1Status, int, CIMultiDictProxy]]: ...
    def delete_collection_volume_attributes_class(self, **kwargs: Any) -> Awaitable[V1Status]: ...
    def delete_collection_volume_attributes_class_with_http_info(self, **kwargs: Any) -> Awaitable[tuple[V1Status, int, CIMultiDictProxy]]: ...
    def delete_csi_driver(self, name: str, **kwargs: Any) -> Awaitable[V1CSIDriver]: ...
    def delete_csi_driver_with_http_info(self, name: str, **kwargs: Any) -> Awaitable[tuple[V1CSIDriver, int, CIMultiDictProxy]]: ...
    def delete_csi_node(self, name: str, **kwargs: Any) -> Awaitable[V1CSINode]: ...
    def delete_csi_node_with_http_info(self, name: str, **kwargs: Any) -> Awaitable[tuple[V1CSINode, int, CIMultiDictProxy]]: ...
    def delete_namespaced_csi_storage_capacity(self, name: str, namespace: str, **kwargs: Any) -> Awaitable[V1Status]: ...
    def delete_namespaced_csi_storage_capacity_with_http_info(self, name: str, namespace: str, **kwargs: Any) -> Awaitable[tuple[V1Status, int, CIMultiDictProxy]]: ...
    def delete_storage_class(self, name: str, **kwargs: Any) -> Awaitable[V1StorageClass]: ...
    def delete_storage_class_with_http_info(self, name: str, **kwargs: Any) -> Awaitable[tuple[V1StorageClass, int, CIMultiDictProxy]]: ...
    def delete_volume_attachment(self, name: str, **kwargs: Any) -> Awaitable[V1VolumeAttachment]: ...
    def delete_volume_attachment_with_http_info(self, name: str, **kwargs: Any) -> Awaitable[tuple[V1VolumeAttachment, int, CIMultiDictProxy]]: ...
    def delete_volume_attributes_class(self, name: str, **kwargs: Any) -> Awaitable[V1VolumeAttributesClass]: ...
    def delete_volume_attributes_class_with_http_info(self, name: str, **kwargs: Any) -> Awaitable[tuple[V1VolumeAttributesClass, 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_csi_driver(self, **kwargs: Any) -> Awaitable[V1CSIDriverList]: ...
    def list_csi_driver_with_http_info(self, **kwargs: Any) -> Awaitable[tuple[V1CSIDriverList, int, CIMultiDictProxy]]: ...
    def list_csi_node(self, **kwargs: Any) -> Awaitable[V1CSINodeList]: ...
    def list_csi_node_with_http_info(self, **kwargs: Any) -> Awaitable[tuple[V1CSINodeList, int, CIMultiDictProxy]]: ...
    def list_csi_storage_capacity_for_all_namespaces(self, **kwargs: Any) -> Awaitable[V1CSIStorageCapacityList]: ...
    def list_csi_storage_capacity_for_all_namespaces_with_http_info(self, **kwargs: Any) -> Awaitable[tuple[V1CSIStorageCapacityList, int, CIMultiDictProxy]]: ...
    def list_namespaced_csi_storage_capacity(self, namespace: str, **kwargs: Any) -> Awaitable[V1CSIStorageCapacityList]: ...
    def list_namespaced_csi_storage_capacity_with_http_info(self, namespace: str, **kwargs: Any) -> Awaitable[tuple[V1CSIStorageCapacityList, int, CIMultiDictProxy]]: ...
    def list_storage_class(self, **kwargs: Any) -> Awaitable[V1StorageClassList]: ...
    def list_storage_class_with_http_info(self, **kwargs: Any) -> Awaitable[tuple[V1StorageClassList, int, CIMultiDictProxy]]: ...
    def list_volume_attachment(self, **kwargs: Any) -> Awaitable[V1VolumeAttachmentList]: ...
    def list_volume_attachment_with_http_info(self, **kwargs: Any) -> Awaitable[tuple[V1VolumeAttachmentList, int, CIMultiDictProxy]]: ...
    def list_volume_attributes_class(self, **kwargs: Any) -> Awaitable[V1VolumeAttributesClassList]: ...
    def list_volume_attributes_class_with_http_info(self, **kwargs: Any) -> Awaitable[tuple[V1VolumeAttributesClassList, int, CIMultiDictProxy]]: ...
    def patch_csi_driver(self, name: str, body: Any, **kwargs: Any) -> Awaitable[V1CSIDriver]: ...
    def patch_csi_driver_with_http_info(self, name: str, body: Any, **kwargs: Any) -> Awaitable[tuple[V1CSIDriver, int, CIMultiDictProxy]]: ...
    def patch_csi_node(self, name: str, body: Any, **kwargs: Any) -> Awaitable[V1CSINode]: ...
    def patch_csi_node_with_http_info(self, name: str, body: Any, **kwargs: Any) -> Awaitable[tuple[V1CSINode, int, CIMultiDictProxy]]: ...
    def patch_namespaced_csi_storage_capacity(self, name: str, namespace: str, body: Any, **kwargs: Any) -> Awaitable[V1CSIStorageCapacity]: ...
    def patch_namespaced_csi_storage_capacity_with_http_info(self, name: str, namespace: str, body: Any, **kwargs: Any) -> Awaitable[tuple[V1CSIStorageCapacity, int, CIMultiDictProxy]]: ...
    def patch_storage_class(self, name: str, body: Any, **kwargs: Any) -> Awaitable[V1StorageClass]: ...
    def patch_storage_class_with_http_info(self, name: str, body: Any, **kwargs: Any) -> Awaitable[tuple[V1StorageClass, int, CIMultiDictProxy]]: ...
    def patch_volume_attachment(self, name: str, body: Any, **kwargs: Any) -> Awaitable[V1VolumeAttachment]: ...
    def patch_volume_attachment_status(self, name: str, body: Any, **kwargs: Any) -> Awaitable[V1VolumeAttachment]: ...
    def patch_volume_attachment_status_with_http_info(self, name: str, body: Any, **kwargs: Any) -> Awaitable[tuple[V1VolumeAttachment, int, CIMultiDictProxy]]: ...
    def patch_volume_attachment_with_http_info(self, name: str, body: Any, **kwargs: Any) -> Awaitable[tuple[V1VolumeAttachment, int, CIMultiDictProxy]]: ...
    def patch_volume_attributes_class(self, name: str, body: Any, **kwargs: Any) -> Awaitable[V1VolumeAttributesClass]: ...
    def patch_volume_attributes_class_with_http_info(self, name: str, body: Any, **kwargs: Any) -> Awaitable[tuple[V1VolumeAttributesClass, int, CIMultiDictProxy]]: ...
    def read_csi_driver(self, name: str, **kwargs: Any) -> Awaitable[V1CSIDriver]: ...
    def read_csi_driver_with_http_info(self, name: str, **kwargs: Any) -> Awaitable[tuple[V1CSIDriver, int, CIMultiDictProxy]]: ...
    def read_csi_node(self, name: str, **kwargs: Any) -> Awaitable[V1CSINode]: ...
    def read_csi_node_with_http_info(self, name: str, **kwargs: Any) -> Awaitable[tuple[V1CSINode, int, CIMultiDictProxy]]: ...
    def read_namespaced_csi_storage_capacity(self, name: str, namespace: str, **kwargs: Any) -> Awaitable[V1CSIStorageCapacity]: ...
    def read_namespaced_csi_storage_capacity_with_http_info(self, name: str, namespace: str, **kwargs: Any) -> Awaitable[tuple[V1CSIStorageCapacity, int, CIMultiDictProxy]]: ...
    def read_storage_class(self, name: str, **kwargs: Any) -> Awaitable[V1StorageClass]: ...
    def read_storage_class_with_http_info(self, name: str, **kwargs: Any) -> Awaitable[tuple[V1StorageClass, int, CIMultiDictProxy]]: ...
    def read_volume_attachment(self, name: str, **kwargs: Any) -> Awaitable[V1VolumeAttachment]: ...
    def read_volume_attachment_status(self, name: str, **kwargs: Any) -> Awaitable[V1VolumeAttachment]: ...
    def read_volume_attachment_status_with_http_info(self, name: str, **kwargs: Any) -> Awaitable[tuple[V1VolumeAttachment, int, CIMultiDictProxy]]: ...
    def read_volume_attachment_with_http_info(self, name: str, **kwargs: Any) -> Awaitable[tuple[V1VolumeAttachment, int, CIMultiDictProxy]]: ...
    def read_volume_attributes_class(self, name: str, **kwargs: Any) -> Awaitable[V1VolumeAttributesClass]: ...
    def read_volume_attributes_class_with_http_info(self, name: str, **kwargs: Any) -> Awaitable[tuple[V1VolumeAttributesClass, int, CIMultiDictProxy]]: ...
    def replace_csi_driver(self, name: str, body: V1CSIDriver, **kwargs: Any) -> Awaitable[V1CSIDriver]: ...
    def replace_csi_driver_with_http_info(self, name: str, body: V1CSIDriver, **kwargs: Any) -> Awaitable[tuple[V1CSIDriver, int, CIMultiDictProxy]]: ...
    def replace_csi_node(self, name: str, body: V1CSINode, **kwargs: Any) -> Awaitable[V1CSINode]: ...
    def replace_csi_node_with_http_info(self, name: str, body: V1CSINode, **kwargs: Any) -> Awaitable[tuple[V1CSINode, int, CIMultiDictProxy]]: ...
    def replace_namespaced_csi_storage_capacity(self, name: str, namespace: str, body: V1CSIStorageCapacity, **kwargs: Any) -> Awaitable[V1CSIStorageCapacity]: ...
    def replace_namespaced_csi_storage_capacity_with_http_info(self, name: str, namespace: str, body: V1CSIStorageCapacity, **kwargs: Any) -> Awaitable[tuple[V1CSIStorageCapacity, int, CIMultiDictProxy]]: ...
    def replace_storage_class(self, name: str, body: V1StorageClass, **kwargs: Any) -> Awaitable[V1StorageClass]: ...
    def replace_storage_class_with_http_info(self, name: str, body: V1StorageClass, **kwargs: Any) -> Awaitable[tuple[V1StorageClass, int, CIMultiDictProxy]]: ...
    def replace_volume_attachment(self, name: str, body: V1VolumeAttachment, **kwargs: Any) -> Awaitable[V1VolumeAttachment]: ...
    def replace_volume_attachment_status(self, name: str, body: V1VolumeAttachment, **kwargs: Any) -> Awaitable[V1VolumeAttachment]: ...
    def replace_volume_attachment_status_with_http_info(self, name: str, body: V1VolumeAttachment, **kwargs: Any) -> Awaitable[tuple[V1VolumeAttachment, int, CIMultiDictProxy]]: ...
    def replace_volume_attachment_with_http_info(self, name: str, body: V1VolumeAttachment, **kwargs: Any) -> Awaitable[tuple[V1VolumeAttachment, int, CIMultiDictProxy]]: ...
    def replace_volume_attributes_class(self, name: str, body: V1VolumeAttributesClass, **kwargs: Any) -> Awaitable[V1VolumeAttributesClass]: ...
    def replace_volume_attributes_class_with_http_info(self, name: str, body: V1VolumeAttributesClass, **kwargs: Any) -> Awaitable[tuple[V1VolumeAttributesClass, int, CIMultiDictProxy]]: ...
