from kubernetes_asyncio.client.models import V1ObjectMeta
from kubernetes_asyncio.client.models import V1TopologySelectorTerm
from typing import Any

class V1StorageClass:
    def __eq__(self, other: Any) -> bool: ...
    def __init__(self, allow_volume_expansion: bool | None = None, allowed_topologies: list[V1TopologySelectorTerm] | None = None, api_version: str | None = None, kind: str | None = None, metadata: V1ObjectMeta | None = None, mount_options: list[str] | None = None, parameters: dict[str, str] | None = None, provisioner: str | None = None, reclaim_policy: str | None = None, volume_binding_mode: str | 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 allow_volume_expansion(self) -> bool: ...
    @allow_volume_expansion.setter
    def allow_volume_expansion(self, allow_volume_expansion: bool) -> None: ...
    @property
    def allowed_topologies(self) -> list[V1TopologySelectorTerm]: ...
    @allowed_topologies.setter
    def allowed_topologies(self, allowed_topologies: list[V1TopologySelectorTerm]) -> None: ...
    @property
    def api_version(self) -> str: ...
    @api_version.setter
    def api_version(self, api_version: str) -> None: ...
    @property
    def kind(self) -> str: ...
    @kind.setter
    def kind(self, kind: str) -> None: ...
    @property
    def metadata(self) -> V1ObjectMeta: ...
    @metadata.setter
    def metadata(self, metadata: V1ObjectMeta) -> None: ...
    @property
    def mount_options(self) -> list[str]: ...
    @mount_options.setter
    def mount_options(self, mount_options: list[str]) -> None: ...
    @property
    def parameters(self) -> dict[str, str]: ...
    @parameters.setter
    def parameters(self, parameters: dict[str, str]) -> None: ...
    @property
    def provisioner(self) -> str: ...
    @provisioner.setter
    def provisioner(self, provisioner: str) -> None: ...
    @property
    def reclaim_policy(self) -> str: ...
    @reclaim_policy.setter
    def reclaim_policy(self, reclaim_policy: str) -> None: ...
    @property
    def volume_binding_mode(self) -> str: ...
    @volume_binding_mode.setter
    def volume_binding_mode(self, volume_binding_mode: str) -> None: ...
