from kubernetes_asyncio.client.models import V1LabelSelector
from kubernetes_asyncio.client.models import V1PersistentVolumeClaim
from kubernetes_asyncio.client.models import V1PodTemplateSpec
from kubernetes_asyncio.client.models import V1StatefulSetOrdinals
from kubernetes_asyncio.client.models import V1StatefulSetPersistentVolumeClaimRetentionPolicy
from kubernetes_asyncio.client.models import V1StatefulSetUpdateStrategy
from typing import Any

class V1StatefulSetSpec:
    def __eq__(self, other: Any) -> bool: ...
    def __init__(self, min_ready_seconds: int | None = None, ordinals: V1StatefulSetOrdinals | None = None, persistent_volume_claim_retention_policy: V1StatefulSetPersistentVolumeClaimRetentionPolicy | None = None, pod_management_policy: str | None = None, replicas: int | None = None, revision_history_limit: int | None = None, selector: V1LabelSelector | None = None, service_name: str | None = None, template: V1PodTemplateSpec | None = None, update_strategy: V1StatefulSetUpdateStrategy | None = None, volume_claim_templates: list[V1PersistentVolumeClaim] | 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 min_ready_seconds(self) -> int: ...
    @min_ready_seconds.setter
    def min_ready_seconds(self, min_ready_seconds: int) -> None: ...
    @property
    def ordinals(self) -> V1StatefulSetOrdinals: ...
    @ordinals.setter
    def ordinals(self, ordinals: V1StatefulSetOrdinals) -> None: ...
    @property
    def persistent_volume_claim_retention_policy(self) -> V1StatefulSetPersistentVolumeClaimRetentionPolicy: ...
    @persistent_volume_claim_retention_policy.setter
    def persistent_volume_claim_retention_policy(self, persistent_volume_claim_retention_policy: V1StatefulSetPersistentVolumeClaimRetentionPolicy) -> None: ...
    @property
    def pod_management_policy(self) -> str: ...
    @pod_management_policy.setter
    def pod_management_policy(self, pod_management_policy: str) -> None: ...
    @property
    def replicas(self) -> int: ...
    @replicas.setter
    def replicas(self, replicas: int) -> None: ...
    @property
    def revision_history_limit(self) -> int: ...
    @revision_history_limit.setter
    def revision_history_limit(self, revision_history_limit: int) -> None: ...
    @property
    def selector(self) -> V1LabelSelector: ...
    @selector.setter
    def selector(self, selector: V1LabelSelector) -> None: ...
    @property
    def service_name(self) -> str: ...
    @service_name.setter
    def service_name(self, service_name: str) -> None: ...
    @property
    def template(self) -> V1PodTemplateSpec: ...
    @template.setter
    def template(self, template: V1PodTemplateSpec) -> None: ...
    @property
    def update_strategy(self) -> V1StatefulSetUpdateStrategy: ...
    @update_strategy.setter
    def update_strategy(self, update_strategy: V1StatefulSetUpdateStrategy) -> None: ...
    @property
    def volume_claim_templates(self) -> list[V1PersistentVolumeClaim]: ...
    @volume_claim_templates.setter
    def volume_claim_templates(self, volume_claim_templates: list[V1PersistentVolumeClaim]) -> None: ...
