from kubernetes_asyncio.client.models import AdmissionregistrationV1WebhookClientConfig
from kubernetes_asyncio.client.models import V1LabelSelector
from kubernetes_asyncio.client.models import V1MatchCondition
from kubernetes_asyncio.client.models import V1RuleWithOperations
from typing import Any

class V1ValidatingWebhook:
    def __eq__(self, other: Any) -> bool: ...
    def __init__(self, admission_review_versions: list[str] | None = None, client_config: AdmissionregistrationV1WebhookClientConfig | None = None, failure_policy: str | None = None, match_conditions: list[V1MatchCondition] | None = None, match_policy: str | None = None, name: str | None = None, namespace_selector: V1LabelSelector | None = None, object_selector: V1LabelSelector | None = None, rules: list[V1RuleWithOperations] | None = None, side_effects: str | None = None, timeout_seconds: int | 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 admission_review_versions(self) -> list[str]: ...
    @admission_review_versions.setter
    def admission_review_versions(self, admission_review_versions: list[str]) -> None: ...
    @property
    def client_config(self) -> AdmissionregistrationV1WebhookClientConfig: ...
    @client_config.setter
    def client_config(self, client_config: AdmissionregistrationV1WebhookClientConfig) -> None: ...
    @property
    def failure_policy(self) -> str: ...
    @failure_policy.setter
    def failure_policy(self, failure_policy: str) -> None: ...
    @property
    def match_conditions(self) -> list[V1MatchCondition]: ...
    @match_conditions.setter
    def match_conditions(self, match_conditions: list[V1MatchCondition]) -> None: ...
    @property
    def match_policy(self) -> str: ...
    @match_policy.setter
    def match_policy(self, match_policy: str) -> None: ...
    @property
    def name(self) -> str: ...
    @name.setter
    def name(self, name: str) -> None: ...
    @property
    def namespace_selector(self) -> V1LabelSelector: ...
    @namespace_selector.setter
    def namespace_selector(self, namespace_selector: V1LabelSelector) -> None: ...
    @property
    def object_selector(self) -> V1LabelSelector: ...
    @object_selector.setter
    def object_selector(self, object_selector: V1LabelSelector) -> None: ...
    @property
    def rules(self) -> list[V1RuleWithOperations]: ...
    @rules.setter
    def rules(self, rules: list[V1RuleWithOperations]) -> None: ...
    @property
    def side_effects(self) -> str: ...
    @side_effects.setter
    def side_effects(self, side_effects: str) -> None: ...
    @property
    def timeout_seconds(self) -> int: ...
    @timeout_seconds.setter
    def timeout_seconds(self, timeout_seconds: int) -> None: ...
