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

    _cached: Optional[bool]
    _children: Optional[List[TreeItemOutputV1]]
    _created_by: Optional[str]
    _datasource: Optional[DatasourcePreviewV1]
    _description: Optional[str]
    _effective_permissions: Optional[PermissionsV1]
    _evidence_table_definition_id: Optional[str]
    _fingerprint: Optional[str]
    _has_active_children: Optional[bool]
    _has_children: Optional[bool]
    _id: str
    _is_archived: Optional[bool]
    _is_redacted: Optional[bool]
    _manually_added: Optional[str]
    _name: str
    _parameters: Optional[List[FormulaParameterOutputV1]]
    _properties: List[PropertyOutputV1]
    _scoped_to: Optional[str]
    _status_message: Optional[str]
    _translation_key: Optional[str]
    _type: str
    _value_unit_of_measure: Optional[str]
    _workbook_id: Optional[str]


    def __init__(
        self,
        cached: Optional[bool] = False,
        children: Optional[List[TreeItemOutputV1]] = None,
        created_by: Optional[str] = None,
        datasource: Optional[DatasourcePreviewV1] = None,
        description: Optional[str] = None,
        effective_permissions: Optional[PermissionsV1] = None,
        evidence_table_definition_id: Optional[str] = None,
        fingerprint: Optional[str] = None,
        has_active_children: Optional[bool] = False,
        has_children: Optional[bool] = False,
        id: Optional[str] = None,
        is_archived: Optional[bool] = False,
        is_redacted: Optional[bool] = False,
        manually_added: Optional[str] = None,
        name: Optional[str] = None,
        parameters: Optional[List[FormulaParameterOutputV1]] = None,
        properties: Optional[List[PropertyOutputV1]] = None,
        scoped_to: Optional[str] = None,
        status_message: Optional[str] = None,
        translation_key: Optional[str] = None,
        type: Optional[str] = None,
        value_unit_of_measure: Optional[str] = None,
        workbook_id: Optional[str] = None,
    ) -> None: ...

    @property
    def cached(self) -> Optional[bool]: ...

    @cached.setter
    def cached(self, cached: Optional[bool]) -> None: ...

    @property
    def children(self) -> Optional[List[TreeItemOutputV1]]: ...

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

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

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

    @property
    def datasource(self) -> Optional[DatasourcePreviewV1]: ...

    @datasource.setter
    def datasource(self, datasource: Optional[DatasourcePreviewV1]) -> None: ...

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

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

    @property
    def effective_permissions(self) -> Optional[PermissionsV1]: ...

    @effective_permissions.setter
    def effective_permissions(self, effective_permissions: Optional[PermissionsV1]) -> None: ...

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

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

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

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

    @property
    def has_active_children(self) -> Optional[bool]: ...

    @has_active_children.setter
    def has_active_children(self, has_active_children: Optional[bool]) -> None: ...

    @property
    def has_children(self) -> Optional[bool]: ...

    @has_children.setter
    def has_children(self, has_children: Optional[bool]) -> None: ...

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

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

    @property
    def is_archived(self) -> Optional[bool]: ...

    @is_archived.setter
    def is_archived(self, is_archived: Optional[bool]) -> None: ...

    @property
    def is_redacted(self) -> Optional[bool]: ...

    @is_redacted.setter
    def is_redacted(self, is_redacted: Optional[bool]) -> None: ...

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

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

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

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

    @property
    def parameters(self) -> Optional[List[FormulaParameterOutputV1]]: ...

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

    @property
    def properties(self) -> List[PropertyOutputV1]: ...

    @properties.setter
    def properties(self, properties: List[PropertyOutputV1]) -> None: ...

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

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

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

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

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

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

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

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

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

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

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

    @workbook_id.setter
    def workbook_id(self, workbook_id: Optional[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: ...
