from kubernetes_asyncio.client.models import V1LabelSelector
from kubernetes_asyncio.client.models import V1NetworkPolicyEgressRule
from kubernetes_asyncio.client.models import V1NetworkPolicyIngressRule
from typing import Any

class V1NetworkPolicySpec:
    def __eq__(self, other: Any) -> bool: ...
    def __init__(self, egress: list[V1NetworkPolicyEgressRule] | None = None, ingress: list[V1NetworkPolicyIngressRule] | None = None, pod_selector: V1LabelSelector | None = None, policy_types: list[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 egress(self) -> list[V1NetworkPolicyEgressRule]: ...
    @egress.setter
    def egress(self, egress: list[V1NetworkPolicyEgressRule]) -> None: ...
    @property
    def ingress(self) -> list[V1NetworkPolicyIngressRule]: ...
    @ingress.setter
    def ingress(self, ingress: list[V1NetworkPolicyIngressRule]) -> None: ...
    @property
    def pod_selector(self) -> V1LabelSelector: ...
    @pod_selector.setter
    def pod_selector(self, pod_selector: V1LabelSelector) -> None: ...
    @property
    def policy_types(self) -> list[str]: ...
    @policy_types.setter
    def policy_types(self, policy_types: list[str]) -> None: ...
