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 V1alpha3DeviceTaintRule
from kubernetes_asyncio.client.models import V1alpha3DeviceTaintRuleList
from multidict import CIMultiDictProxy
from typing import Any
from typing import Awaitable

class ResourceV1alpha3Api:
    def __init__(self, api_client: ApiClient | None = None) -> None: ...
    def create_device_taint_rule(self, body: V1alpha3DeviceTaintRule, **kwargs: Any) -> Awaitable[V1alpha3DeviceTaintRule]: ...
    def create_device_taint_rule_with_http_info(self, body: V1alpha3DeviceTaintRule, **kwargs: Any) -> Awaitable[tuple[V1alpha3DeviceTaintRule, int, CIMultiDictProxy]]: ...
    def delete_collection_device_taint_rule(self, **kwargs: Any) -> Awaitable[V1Status]: ...
    def delete_collection_device_taint_rule_with_http_info(self, **kwargs: Any) -> Awaitable[tuple[V1Status, int, CIMultiDictProxy]]: ...
    def delete_device_taint_rule(self, name: str, **kwargs: Any) -> Awaitable[V1alpha3DeviceTaintRule]: ...
    def delete_device_taint_rule_with_http_info(self, name: str, **kwargs: Any) -> Awaitable[tuple[V1alpha3DeviceTaintRule, 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_device_taint_rule(self, **kwargs: Any) -> Awaitable[V1alpha3DeviceTaintRuleList]: ...
    def list_device_taint_rule_with_http_info(self, **kwargs: Any) -> Awaitable[tuple[V1alpha3DeviceTaintRuleList, int, CIMultiDictProxy]]: ...
    def patch_device_taint_rule(self, name: str, body: Any, **kwargs: Any) -> Awaitable[V1alpha3DeviceTaintRule]: ...
    def patch_device_taint_rule_with_http_info(self, name: str, body: Any, **kwargs: Any) -> Awaitable[tuple[V1alpha3DeviceTaintRule, int, CIMultiDictProxy]]: ...
    def read_device_taint_rule(self, name: str, **kwargs: Any) -> Awaitable[V1alpha3DeviceTaintRule]: ...
    def read_device_taint_rule_with_http_info(self, name: str, **kwargs: Any) -> Awaitable[tuple[V1alpha3DeviceTaintRule, int, CIMultiDictProxy]]: ...
    def replace_device_taint_rule(self, name: str, body: V1alpha3DeviceTaintRule, **kwargs: Any) -> Awaitable[V1alpha3DeviceTaintRule]: ...
    def replace_device_taint_rule_with_http_info(self, name: str, body: V1alpha3DeviceTaintRule, **kwargs: Any) -> Awaitable[tuple[V1alpha3DeviceTaintRule, int, CIMultiDictProxy]]: ...
