import { ePropType } from '../../enums'; import { EntityPropList } from '../entity-props'; import { FormPropList } from '../form-props'; import { PropContributorCallbacks } from '../props'; export declare type DisplayNameGeneratorFn = (displayName: LocalizableStringDto, fallback: LocalizableStringDto) => string; export declare type EntityExtensions = Record; export interface EntityExtensionDto { properties: EntityExtensionProperties; configuration: Record; } export declare type EntityExtensionProperties = Record; export interface ExtensionEnumDto { fields: ExtensionEnumFieldDto[]; localizationResource?: string; transformed?: any; } export interface ExtensionEnumFieldDto { name?: string; value: any; } export interface ExtensionPropertyApiCreateDto { isAvailable: boolean; } export interface ExtensionPropertyApiDto { onGet: ExtensionPropertyApiGetDto; onCreate: ExtensionPropertyApiCreateDto; onUpdate: ExtensionPropertyApiUpdateDto; } export interface ExtensionPropertyApiGetDto { isAvailable: boolean; } export interface ExtensionPropertyApiUpdateDto { isAvailable: boolean; } export interface ExtensionPropertyAttributeDto { typeSimple?: string; config: Record; } export interface ExtensionPropertyDto { type?: string; typeSimple?: ePropType; displayName: LocalizableStringDto; api: ExtensionPropertyApiDto; ui: ExtensionPropertyUiDto; attributes: ExtensionPropertyAttributeDto[]; configuration: Record; defaultValue: any; } export interface ExtensionPropertyUiDto { onTable: ExtensionPropertyUiTableDto; onCreateForm: ExtensionPropertyUiFormDto; onEditForm: ExtensionPropertyUiFormDto; lookup?: ExtensionPropertyUiLookupDto; } export interface ExtensionPropertyUiFormDto { isVisible: boolean; } export interface ExtensionPropertyUiLookupDto { url?: string; resultListPropertyName?: string; displayPropertyName?: string; valuePropertyName?: string; filterParamName?: string; } export interface ExtensionPropertyUiTableDto { isSortable?: boolean; isVisible: boolean; } export interface LocalizableStringDto { name?: string; resource?: string; } export interface ModuleExtensionDto { entities: Record; configuration: Record; } export interface ObjectExtensionsDto { modules: Record; enums: Record; } export interface PropContributors { prop: PropContributorCallbacks>; createForm: PropContributorCallbacks>; editForm: PropContributorCallbacks>; }