from kubernetes_asyncio.client.models import V1NodeSelector
from kubernetes_asyncio.client.models import V1beta1DeviceAttribute
from kubernetes_asyncio.client.models import V1beta1DeviceCapacity
from kubernetes_asyncio.client.models import V1beta1DeviceCounterConsumption
from kubernetes_asyncio.client.models import V1beta1DeviceTaint
from typing import Any

class V1beta1BasicDevice:
    def __eq__(self, other: Any) -> bool: ...
    def __init__(self, all_nodes: bool | None = None, allow_multiple_allocations: bool | None = None, attributes: dict[str, V1beta1DeviceAttribute] | None = None, binding_conditions: list[str] | None = None, binding_failure_conditions: list[str] | None = None, binds_to_node: bool | None = None, capacity: dict[str, V1beta1DeviceCapacity] | None = None, consumes_counters: list[V1beta1DeviceCounterConsumption] | None = None, node_name: str | None = None, node_selector: V1NodeSelector | None = None, taints: list[V1beta1DeviceTaint] | None = None, local_vars_configuration: Any | None = None) -> None: ...
    def __ne__(self, other: Any) -> bool: ...
    def __repr__(self) -> str: ...
    def to_dict(self, serialize: bool = False) -> dict[str, Any]: ...
    def to_str(self) -> str: ...
    @property
    def all_nodes(self) -> bool: ...
    @all_nodes.setter
    def all_nodes(self, all_nodes: bool) -> None: ...
    @property
    def allow_multiple_allocations(self) -> bool: ...
    @allow_multiple_allocations.setter
    def allow_multiple_allocations(self, allow_multiple_allocations: bool) -> None: ...
    @property
    def attributes(self) -> dict[str, V1beta1DeviceAttribute]: ...
    @attributes.setter
    def attributes(self, attributes: dict[str, V1beta1DeviceAttribute]) -> None: ...
    @property
    def binding_conditions(self) -> list[str]: ...
    @binding_conditions.setter
    def binding_conditions(self, binding_conditions: list[str]) -> None: ...
    @property
    def binding_failure_conditions(self) -> list[str]: ...
    @binding_failure_conditions.setter
    def binding_failure_conditions(self, binding_failure_conditions: list[str]) -> None: ...
    @property
    def binds_to_node(self) -> bool: ...
    @binds_to_node.setter
    def binds_to_node(self, binds_to_node: bool) -> None: ...
    @property
    def capacity(self) -> dict[str, V1beta1DeviceCapacity]: ...
    @capacity.setter
    def capacity(self, capacity: dict[str, V1beta1DeviceCapacity]) -> None: ...
    @property
    def consumes_counters(self) -> list[V1beta1DeviceCounterConsumption]: ...
    @consumes_counters.setter
    def consumes_counters(self, consumes_counters: list[V1beta1DeviceCounterConsumption]) -> None: ...
    @property
    def node_name(self) -> str: ...
    @node_name.setter
    def node_name(self, node_name: str) -> None: ...
    @property
    def node_selector(self) -> V1NodeSelector: ...
    @node_selector.setter
    def node_selector(self, node_selector: V1NodeSelector) -> None: ...
    @property
    def taints(self) -> list[V1beta1DeviceTaint]: ...
    @taints.setter
    def taints(self, taints: list[V1beta1DeviceTaint]) -> None: ...
