export type IEditableAttribute = { name: string, display?: string } & ( { type: "boolean" } | { type: "enum", values: (string | { label: string, value: string })[]} | { type: "string", value: string, suggestions?: { label: string, value: string }[] } | { type: "number", value?: string } | { type: "size", value?: string , suggestions?: { label: string, value: string }[] } | { type: "time", suggestions?: { label: string, value: string }[]} | { type: "image"} | { type: "pdf" } ); // { // name: string; // display?: string; // value?: string; // suggest?: string[]; // type: "string" | "number" | "enum" | "time" | "lang" | "image" | "video" | "boolean" // } | { // type: "boolean", // display?: string; // } | { // type: "enum", // display?: string; // } export interface IEditableElement { get editableAttributes(): IEditableAttribute[]; }