from kubernetes_asyncio.client.models import V1CustomResourceConversion
from kubernetes_asyncio.client.models import V1CustomResourceDefinitionNames
from kubernetes_asyncio.client.models import V1CustomResourceDefinitionVersion
from typing import Any

class V1CustomResourceDefinitionSpec:
    def __eq__(self, other: Any) -> bool: ...
    def __init__(self, conversion: V1CustomResourceConversion | None = None, group: str | None = None, names: V1CustomResourceDefinitionNames | None = None, preserve_unknown_fields: bool | None = None, scope: str | None = None, versions: list[V1CustomResourceDefinitionVersion] | 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 conversion(self) -> V1CustomResourceConversion: ...
    @conversion.setter
    def conversion(self, conversion: V1CustomResourceConversion) -> None: ...
    @property
    def group(self) -> str: ...
    @group.setter
    def group(self, group: str) -> None: ...
    @property
    def names(self) -> V1CustomResourceDefinitionNames: ...
    @names.setter
    def names(self, names: V1CustomResourceDefinitionNames) -> None: ...
    @property
    def preserve_unknown_fields(self) -> bool: ...
    @preserve_unknown_fields.setter
    def preserve_unknown_fields(self, preserve_unknown_fields: bool) -> None: ...
    @property
    def scope(self) -> str: ...
    @scope.setter
    def scope(self, scope: str) -> None: ...
    @property
    def versions(self) -> list[V1CustomResourceDefinitionVersion]: ...
    @versions.setter
    def versions(self, versions: list[V1CustomResourceDefinitionVersion]) -> None: ...
