# coding: utf-8

"""
    Seeq REST API

    No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)  # noqa: E501

    OpenAPI spec version: 66.119.1-v202603241138-CD
    
    Generated by: https://github.com/swagger-api/swagger-codegen.git
"""

from __future__ import annotations

from typing import Any, ClassVar, Dict, List, Optional, Set, TYPE_CHECKING

if TYPE_CHECKING:
    from . import *  # noqa: F401,F403


class ThresholdMetricInputV1(object):
    swagger_types: ClassVar[Dict[str, str]] = ...
    attribute_map: ClassVar[Dict[str, str]] = ...

    _additional_properties: Optional[List[ScalarPropertyV1]]
    _aggregation_function: Optional[str]
    _bounding_condition: Optional[str]
    _bounding_condition_maximum_duration: Optional[str]
    _data_id: Optional[str]
    _datasource_class: Optional[str]
    _datasource_id: Optional[str]
    _duration: Optional[str]
    _measured_item: str
    _name: str
    _neutral_color: Optional[str]
    _number_format: Optional[str]
    _period: Optional[str]
    _scoped_to: Optional[str]
    _sync_token: Optional[str]
    _thresholds: Optional[List[str]]


    def __init__(
        self,
        additional_properties: Optional[List[ScalarPropertyV1]] = None,
        aggregation_function: Optional[str] = None,
        bounding_condition: Optional[str] = None,
        bounding_condition_maximum_duration: Optional[str] = None,
        data_id: Optional[str] = None,
        datasource_class: Optional[str] = None,
        datasource_id: Optional[str] = None,
        duration: Optional[str] = None,
        measured_item: Optional[str] = None,
        name: Optional[str] = None,
        neutral_color: Optional[str] = None,
        number_format: Optional[str] = None,
        period: Optional[str] = None,
        scoped_to: Optional[str] = None,
        sync_token: Optional[str] = None,
        thresholds: Optional[List[str]] = None,
    ) -> None: ...

    @property
    def additional_properties(self) -> Optional[List[ScalarPropertyV1]]: ...

    @additional_properties.setter
    def additional_properties(self, additional_properties: Optional[List[ScalarPropertyV1]]) -> None: ...

    @property
    def aggregation_function(self) -> Optional[str]: ...

    @aggregation_function.setter
    def aggregation_function(self, aggregation_function: Optional[str]) -> None: ...

    @property
    def bounding_condition(self) -> Optional[str]: ...

    @bounding_condition.setter
    def bounding_condition(self, bounding_condition: Optional[str]) -> None: ...

    @property
    def bounding_condition_maximum_duration(self) -> Optional[str]: ...

    @bounding_condition_maximum_duration.setter
    def bounding_condition_maximum_duration(self, bounding_condition_maximum_duration: Optional[str]) -> None: ...

    @property
    def data_id(self) -> Optional[str]: ...

    @data_id.setter
    def data_id(self, data_id: Optional[str]) -> None: ...

    @property
    def datasource_class(self) -> Optional[str]: ...

    @datasource_class.setter
    def datasource_class(self, datasource_class: Optional[str]) -> None: ...

    @property
    def datasource_id(self) -> Optional[str]: ...

    @datasource_id.setter
    def datasource_id(self, datasource_id: Optional[str]) -> None: ...

    @property
    def duration(self) -> Optional[str]: ...

    @duration.setter
    def duration(self, duration: Optional[str]) -> None: ...

    @property
    def measured_item(self) -> str: ...

    @measured_item.setter
    def measured_item(self, measured_item: str) -> None: ...

    @property
    def name(self) -> str: ...

    @name.setter
    def name(self, name: str) -> None: ...

    @property
    def neutral_color(self) -> Optional[str]: ...

    @neutral_color.setter
    def neutral_color(self, neutral_color: Optional[str]) -> None: ...

    @property
    def number_format(self) -> Optional[str]: ...

    @number_format.setter
    def number_format(self, number_format: Optional[str]) -> None: ...

    @property
    def period(self) -> Optional[str]: ...

    @period.setter
    def period(self, period: Optional[str]) -> None: ...

    @property
    def scoped_to(self) -> Optional[str]: ...

    @scoped_to.setter
    def scoped_to(self, scoped_to: Optional[str]) -> None: ...

    @property
    def sync_token(self) -> Optional[str]: ...

    @sync_token.setter
    def sync_token(self, sync_token: Optional[str]) -> None: ...

    @property
    def thresholds(self) -> Optional[List[str]]: ...

    @thresholds.setter
    def thresholds(self, thresholds: Optional[List[str]]) -> None: ...

    def to_dict(self) -> Dict[str, Any]: ...
    def to_str(self) -> str: ...
    def __repr__(self) -> str: ...
    def __eq__(self, other: object) -> bool: ...
    def __ne__(self, other: object) -> bool: ...
