import { VelcronComponentPropertyEditors, VelcronDescriptorTypes, VelcronDataTypes } from "./Enums"; import { VelcroncomponentArrayType, VelcronPrimitiveType } from "./VelcronTypes"; export interface VelcronDescriptor { descriptorType: VelcronDescriptorTypes; icon: string; } export interface VelcronComponentDescriptor extends VelcronDescriptor { descriptorType: VelcronDescriptorTypes.component; type: string; icon: string; properties?: Array; events?: Array; } export interface VelcronSubComponentDescriptor extends VelcronDescriptor { descriptorType: VelcronDescriptorTypes.subComponent; type: string; icon: string; properties?: Array; events?: Array; } export interface VelcronComponentPropertyDescriptor { name: string; type: VelcronDataTypes; editor?: VelcronComponentPropertyEditors; required?: boolean; defaultValue?: VelcronPrimitiveType | VelcroncomponentArrayType; disableRemovePropertyOnEmptyOrFalse?: boolean; } export interface VelcronComponentArrayPropertyDescriptor extends VelcronComponentPropertyDescriptor { type: VelcronDataTypes.componentArray; subComponent: VelcronSubComponentDescriptor; } export interface VelcronComponentEventDescriptor { name: string; }