from kubernetes_asyncio.client.models import V2ContainerResourceMetricSource
from kubernetes_asyncio.client.models import V2ExternalMetricSource
from kubernetes_asyncio.client.models import V2ObjectMetricSource
from kubernetes_asyncio.client.models import V2PodsMetricSource
from kubernetes_asyncio.client.models import V2ResourceMetricSource
from typing import Any

class V2MetricSpec:
    def __eq__(self, other: Any) -> bool: ...
    def __init__(self, container_resource: V2ContainerResourceMetricSource | None = None, external: V2ExternalMetricSource | None = None, object: V2ObjectMetricSource | None = None, pods: V2PodsMetricSource | None = None, resource: V2ResourceMetricSource | None = None, type: 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 container_resource(self) -> V2ContainerResourceMetricSource: ...
    @container_resource.setter
    def container_resource(self, container_resource: V2ContainerResourceMetricSource) -> None: ...
    @property
    def external(self) -> V2ExternalMetricSource: ...
    @external.setter
    def external(self, external: V2ExternalMetricSource) -> None: ...
    @property
    def object(self) -> V2ObjectMetricSource: ...
    @object.setter
    def object(self, object: V2ObjectMetricSource) -> None: ...
    @property
    def pods(self) -> V2PodsMetricSource: ...
    @pods.setter
    def pods(self, pods: V2PodsMetricSource) -> None: ...
    @property
    def resource(self) -> V2ResourceMetricSource: ...
    @resource.setter
    def resource(self, resource: V2ResourceMetricSource) -> None: ...
    @property
    def type(self) -> str: ...
    @type.setter
    def type(self, type: str) -> None: ...
