export type DatePropertyValue = { v: number; from: string; to: string; shouldNotifyFrom?: boolean | null; shouldNotifyTo?: boolean | null; }; export type URLPropertyValue = { id?: string; title: string; url: string; }; export type FilePropertyValue = { id: string; fileName: string; fileType: string; downloadURL: string; documentId?: string; }; export type RelationOption = { id: string; label: string; icon: string | null; showDocumentIcon?: boolean; }; export type PropertyValue = number | string | string[] | DatePropertyValue | URLPropertyValue | FilePropertyValue[] | RelationOption[] | undefined | boolean | null; export declare enum PropertyTypes { Text = "text", Number = "number", Select = "select", Multiselect = "multi_select", Checkbox = "checkbox", Url = "url", Email = "email", PhoneNumber = "phone_number", Date = "date", Person = "person", People = "people", Files = "files", Formula = "formula", Relation = "relation", Rollup = "rollup", Status = "status", ID = "id" } export type PropertyType = (typeof PropertyTypes)[keyof typeof PropertyTypes]; export declare enum CALCULATION { SHOW_ORIGINAL = "showOriginal", ROWS_COUNT = "rowsCount", VALUES_COUNT = "valuesCount", UNIQUE_VALUES_COUNT = "uniqueValuesCount", EMPTY_COUNT = "emptyCount", NOT_EMPTY_COUNT = "notEmptyCount", PERCENT_EMPTY_COUNT = "percentEmptyCount", PERCENT_NOT_EMPTY_COUNT = "percentNotEmptyCount", SUM = "sum", AVERAGE = "average", MEDIAN = "median", MIN = "min", MAX = "max", RANGE = "range", CHECKED = "checked", UNCHECKED = "unchecked", PERCENT_CHECKED = "percentChecked", PERCENT_UNCHECKED = "percentUnchecked", EARLIEST_DATE = "earliestDate", LATEST_DATE = "latestDate", DATE_RANGE = "dateRange" } export type PropertyOption = { id: string; label: string; } & T; export type RelationPropertyViewConfig = { shareLinkedDocuments?: boolean; showDocumentIcon?: boolean; }; export type PropertyPermissions = { default: PermissionTypes; users: { [id: string]: PermissionTypes; }; groups: { [id: string]: PermissionTypes; }; }; export declare enum PermissionTypes { LOCK = "", R = "r", RWC = "rwc" } export type ReverseRelationProp = { id: string; title: string; }; export declare enum ShowConfigType { ALWAYS_SHOW = "alwaysShow", ALWAYS_HIDE = "alwaysHide", HIDE_WHEN_EMPTY = "hideWhenEmpty" } export type PropertyModel = { v: number; id: string; type: PropertyType; title: string; config: { relationLimit?: string; relationId?: string; propertyId?: string; calculation?: CALCULATION; type?: PropertyTypes; options?: PropertyOption[]; relation?: RelationPropertyViewConfig; [key: string]: unknown; } | null; options: PropertyOption[] | null; permissions?: PropertyPermissions | null; relationId?: string | null; relationDatabaseId?: string | null; reverseRelationProp?: ReverseRelationProp | null; value?: PropertyValue; values?: PropertyValue[]; o: number; visible?: ShowConfigType; };