#!/usr/bin/env python3
# @generated AUTOGENERATED file. Do not Change!

from dataclasses import dataclass, field as _field
from functools import partial
from ...config import custom_scalars, datetime
from numbers import Number
from typing import Any, AsyncGenerator, Dict, List, Generator, Optional

from dataclasses_json import DataClassJsonMixin, config

from gql_client.runtime.enum_utils import enum_field_metadata
from ..enum.property_kind import PropertyKind

from ..input.add_property_type_value_input import AddPropertyTypeValueInput


@dataclass(frozen=True)
class PropertyTypeInput(DataClassJsonMixin):
    name: str
    type: PropertyKind = _field(metadata=enum_field_metadata(PropertyKind))
    booleanValue: Optional[bool] = None
    category: Optional[str] = None
    externalId: Optional[str] = None
    floatValue: Optional[Number] = None
    id: Optional[str] = None
    index: Optional[int] = None
    intValue: Optional[int] = None
    isDeleted: Optional[bool] = None
    isEditable: Optional[bool] = None
    isInstanceProperty: Optional[bool] = None
    isListable: Optional[bool] = None
    isMandatory: Optional[bool] = None
    latitudeValue: Optional[Number] = None
    longitudeValue: Optional[Number] = None
    nodeType: Optional[str] = None
    propertyCategoryID: Optional[str] = None
    propertyTypeValues: Optional[List[AddPropertyTypeValueInput]] = None
    rangeFromValue: Optional[Number] = None
    rangeToValue: Optional[Number] = None
    stringValue: Optional[str] = None
