import { DataType } from "./DataType.js"; export interface UnitMetadata { name: string; label: string; fields: Array; children?: Array; } export interface ChildDescriptor { label: string; name: string; links: Array; } export interface ChildLink { source: string; target: string; } export interface FieldDescriptor { name: string; label: string; dataType: DataType; userInterface?: UserInterface; defaultValue?: any; visible?: boolean; readOnly?: boolean; required?: boolean; standAlone?: boolean; properties?: any; dependencies?: Array; group?: string; order?: number; } export interface FieldDependency { masterFields: Array; type: DependencyType; expression: string; } export interface Filter { name: string; expression: string; params?: Array; } export interface FilterParam { name: string; dataType: DataType; value: any; } export interface Sort { field: string; mode: SortMode; dataType: DataType; } export interface FilterProvider { getFilter(dataUnit: string): Array | undefined; getKey?: () => string; } export interface SortingProvider { getSort(dataUnit: string, defaultSorting: Array): Array | undefined; } export declare enum SortMode { ASC = "ASC", DESC = "DESC" } export declare enum DependencyType { SEARCHING = "SEARCHING", REQUIREMENT = "REQUIREMENT", VISIBILITY = "REQUIREMENT" } export declare enum UserInterface { FILE = "FILE", IMAGE = "IMAGE", DATE = "DATE", DATETIME = "DATETIME", TIME = "TIME", ELAPSEDTIME = "ELAPSEDTIME", CHECKBOX = "CHECKBOX", SWITCH = "SWITCH", OPTIONSELECTOR = "OPTIONSELECTOR", DECIMALNUMBER = "DECIMALNUMBER", INTEGERNUMBER = "INTEGERNUMBER", SEARCH = "SEARCH", SEARCHPLUS = "SEARCHPLUS", SHORTTEXT = "SHORTTEXT", PASSWORD = "PASSWORD", MASKEDTEXT = "MASKEDTEXT", LONGTEXT = "LONGTEXT", HTML = "HTML", MULTISELECTOR = "MULTISELECTOR" } export declare enum DataUnitTransient { DATA_UNIT_TRANSIENT_PREFIX_NAME = "transient." }