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

    _additional_properties: Optional[List[ScalarPropertyV1]]
    _batch_action: str
    _column_definitions: List[ColumnDefinitionOutputV1]
    _condition_monitor: Optional[ConditionMonitorOutputV1]
    _data_id: Optional[str]
    _datasource_class: Optional[str]
    _datasource_id: Optional[str]
    _description: Optional[str]
    _effective_permissions: Optional[PermissionsV1]
    _exports: Optional[List[ExportPreviewV1]]
    _id: str
    _is_archived: Optional[bool]
    _is_redacted: Optional[bool]
    _item_finder: Optional[ItemFinderOutputV1]
    _name: str
    _navigation_column_id: Optional[str]
    _scoped_to: Optional[str]
    _status_message: Optional[str]
    _subscription: Optional[ItemPreviewV1]
    _table_type: str
    _translation_key: Optional[str]
    _type: str
    _unique_id_column_name: Optional[str]
    _vantage: Optional[ItemPreviewV1]


    def __init__(
        self,
        additional_properties: Optional[List[ScalarPropertyV1]] = None,
        batch_action: Optional[str] = None,
        column_definitions: Optional[List[ColumnDefinitionOutputV1]] = None,
        condition_monitor: Optional[ConditionMonitorOutputV1] = None,
        data_id: Optional[str] = None,
        datasource_class: Optional[str] = None,
        datasource_id: Optional[str] = None,
        description: Optional[str] = None,
        effective_permissions: Optional[PermissionsV1] = None,
        exports: Optional[List[ExportPreviewV1]] = None,
        id: Optional[str] = None,
        is_archived: Optional[bool] = False,
        is_redacted: Optional[bool] = False,
        item_finder: Optional[ItemFinderOutputV1] = None,
        name: Optional[str] = None,
        navigation_column_id: Optional[str] = None,
        scoped_to: Optional[str] = None,
        status_message: Optional[str] = None,
        subscription: Optional[ItemPreviewV1] = None,
        table_type: Optional[str] = None,
        translation_key: Optional[str] = None,
        type: Optional[str] = None,
        unique_id_column_name: Optional[str] = None,
        vantage: Optional[ItemPreviewV1] = 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 batch_action(self) -> str: ...

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

    @property
    def column_definitions(self) -> List[ColumnDefinitionOutputV1]: ...

    @column_definitions.setter
    def column_definitions(self, column_definitions: List[ColumnDefinitionOutputV1]) -> None: ...

    @property
    def condition_monitor(self) -> Optional[ConditionMonitorOutputV1]: ...

    @condition_monitor.setter
    def condition_monitor(self, condition_monitor: Optional[ConditionMonitorOutputV1]) -> 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 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 exports(self) -> Optional[List[ExportPreviewV1]]: ...

    @exports.setter
    def exports(self, exports: Optional[List[ExportPreviewV1]]) -> 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 item_finder(self) -> Optional[ItemFinderOutputV1]: ...

    @item_finder.setter
    def item_finder(self, item_finder: Optional[ItemFinderOutputV1]) -> None: ...

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

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

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

    @navigation_column_id.setter
    def navigation_column_id(self, navigation_column_id: Optional[str]) -> 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 subscription(self) -> Optional[ItemPreviewV1]: ...

    @subscription.setter
    def subscription(self, subscription: Optional[ItemPreviewV1]) -> None: ...

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

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

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

    @property
    def vantage(self) -> Optional[ItemPreviewV1]: ...

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