from kubernetes_asyncio.client.models import V1beta1CapacityRequirements
from kubernetes_asyncio.client.models import V1beta1DeviceSelector
from kubernetes_asyncio.client.models import V1beta1DeviceSubRequest
from kubernetes_asyncio.client.models import V1beta1DeviceToleration
from typing import Any

class V1beta1DeviceRequest:
    def __eq__(self, other: Any) -> bool: ...
    def __init__(self, admin_access: bool | None = None, allocation_mode: str | None = None, capacity: V1beta1CapacityRequirements | None = None, count: int | None = None, device_class_name: str | None = None, first_available: list[V1beta1DeviceSubRequest] | None = None, name: str | None = None, selectors: list[V1beta1DeviceSelector] | None = None, tolerations: list[V1beta1DeviceToleration] | 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 admin_access(self) -> bool: ...
    @admin_access.setter
    def admin_access(self, admin_access: bool) -> None: ...
    @property
    def allocation_mode(self) -> str: ...
    @allocation_mode.setter
    def allocation_mode(self, allocation_mode: str) -> None: ...
    @property
    def capacity(self) -> V1beta1CapacityRequirements: ...
    @capacity.setter
    def capacity(self, capacity: V1beta1CapacityRequirements) -> None: ...
    @property
    def count(self) -> int: ...
    @count.setter
    def count(self, count: int) -> None: ...
    @property
    def device_class_name(self) -> str: ...
    @device_class_name.setter
    def device_class_name(self, device_class_name: str) -> None: ...
    @property
    def first_available(self) -> list[V1beta1DeviceSubRequest]: ...
    @first_available.setter
    def first_available(self, first_available: list[V1beta1DeviceSubRequest]) -> None: ...
    @property
    def name(self) -> str: ...
    @name.setter
    def name(self, name: str) -> None: ...
    @property
    def selectors(self) -> list[V1beta1DeviceSelector]: ...
    @selectors.setter
    def selectors(self, selectors: list[V1beta1DeviceSelector]) -> None: ...
    @property
    def tolerations(self) -> list[V1beta1DeviceToleration]: ...
    @tolerations.setter
    def tolerations(self, tolerations: list[V1beta1DeviceToleration]) -> None: ...
