from kubernetes_asyncio.client.models import V1beta1MatchCondition
from kubernetes_asyncio.client.models import V1beta1MatchResources
from kubernetes_asyncio.client.models import V1beta1Mutation
from kubernetes_asyncio.client.models import V1beta1ParamKind
from kubernetes_asyncio.client.models import V1beta1Variable
from typing import Any

class V1beta1MutatingAdmissionPolicySpec:
    def __eq__(self, other: Any) -> bool: ...
    def __init__(self, failure_policy: str | None = None, match_conditions: list[V1beta1MatchCondition] | None = None, match_constraints: V1beta1MatchResources | None = None, mutations: list[V1beta1Mutation] | None = None, param_kind: V1beta1ParamKind | None = None, reinvocation_policy: str | None = None, variables: list[V1beta1Variable] | 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 failure_policy(self) -> str: ...
    @failure_policy.setter
    def failure_policy(self, failure_policy: str) -> None: ...
    @property
    def match_conditions(self) -> list[V1beta1MatchCondition]: ...
    @match_conditions.setter
    def match_conditions(self, match_conditions: list[V1beta1MatchCondition]) -> None: ...
    @property
    def match_constraints(self) -> V1beta1MatchResources: ...
    @match_constraints.setter
    def match_constraints(self, match_constraints: V1beta1MatchResources) -> None: ...
    @property
    def mutations(self) -> list[V1beta1Mutation]: ...
    @mutations.setter
    def mutations(self, mutations: list[V1beta1Mutation]) -> None: ...
    @property
    def param_kind(self) -> V1beta1ParamKind: ...
    @param_kind.setter
    def param_kind(self, param_kind: V1beta1ParamKind) -> None: ...
    @property
    def reinvocation_policy(self) -> str: ...
    @reinvocation_policy.setter
    def reinvocation_policy(self, reinvocation_policy: str) -> None: ...
    @property
    def variables(self) -> list[V1beta1Variable]: ...
    @variables.setter
    def variables(self, variables: list[V1beta1Variable]) -> None: ...
