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

    _ancestor_id: Optional[str]
    _ancestor_predicates: Optional[List[AncestorFilterInputV1]]
    _folder_id: Optional[str]
    _is_include: bool
    _predicates: Optional[List[PropertyFilterInputV1]]
    _search_order: Optional[int]
    _search_type: str
    _types: List[str]


    def __init__(
        self,
        ancestor_id: Optional[str] = None,
        ancestor_predicates: Optional[List[AncestorFilterInputV1]] = None,
        folder_id: Optional[str] = None,
        is_include: Optional[bool] = None,
        predicates: Optional[List[PropertyFilterInputV1]] = None,
        search_order: Optional[int] = None,
        search_type: Optional[str] = None,
        types: Optional[List[str]] = None,
    ) -> None: ...

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

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

    @property
    def ancestor_predicates(self) -> Optional[List[AncestorFilterInputV1]]: ...

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

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

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

    @property
    def is_include(self) -> bool: ...

    @is_include.setter
    def is_include(self, is_include: bool) -> None: ...

    @property
    def predicates(self) -> Optional[List[PropertyFilterInputV1]]: ...

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

    @property
    def search_order(self) -> Optional[int]: ...

    @search_order.setter
    def search_order(self, search_order: Optional[int]) -> None: ...

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

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

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

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