# 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.118.2-v202603221428-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 FeatureRuleV1(object):
    swagger_types: ClassVar[Dict[str, str]] = ...
    attribute_map: ClassVar[Dict[str, str]] = ...

    _boolean_constant: Optional[ModelBooleanConstantRuleV1]
    _formula_creator: Optional[ModelFormulaCreatorRuleV1]
    _id: Optional[str]
    _inputs: List[ModelRuleInputV1Object]
    _numeric_scalar_creator: Optional[ModelScalarCreatorRuleV1]
    _string_scalar_creator: Optional[ModelScalarCreatorRuleV1]


    def __init__(
        self,
        boolean_constant: Optional[ModelBooleanConstantRuleV1] = None,
        formula_creator: Optional[ModelFormulaCreatorRuleV1] = None,
        id: Optional[str] = None,
        inputs: Optional[List[ModelRuleInputV1Object]] = None,
        numeric_scalar_creator: Optional[ModelScalarCreatorRuleV1] = None,
        string_scalar_creator: Optional[ModelScalarCreatorRuleV1] = None,
    ) -> None: ...

    @property
    def boolean_constant(self) -> Optional[ModelBooleanConstantRuleV1]: ...

    @boolean_constant.setter
    def boolean_constant(self, boolean_constant: Optional[ModelBooleanConstantRuleV1]) -> None: ...

    @property
    def formula_creator(self) -> Optional[ModelFormulaCreatorRuleV1]: ...

    @formula_creator.setter
    def formula_creator(self, formula_creator: Optional[ModelFormulaCreatorRuleV1]) -> None: ...

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

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

    @property
    def inputs(self) -> List[ModelRuleInputV1Object]: ...

    @inputs.setter
    def inputs(self, inputs: List[ModelRuleInputV1Object]) -> None: ...

    @property
    def numeric_scalar_creator(self) -> Optional[ModelScalarCreatorRuleV1]: ...

    @numeric_scalar_creator.setter
    def numeric_scalar_creator(self, numeric_scalar_creator: Optional[ModelScalarCreatorRuleV1]) -> None: ...

    @property
    def string_scalar_creator(self) -> Optional[ModelScalarCreatorRuleV1]: ...

    @string_scalar_creator.setter
    def string_scalar_creator(self, string_scalar_creator: Optional[ModelScalarCreatorRuleV1]) -> 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: ...
