import {
  WidgetTypePresetsInterface,
  WidgetDisplayComponentInterface,
  WidgetSettingsComponentInterface,
  DataItemSelectionInterface,
  DataItemHistorySelectionInterface,
} from "..";

export interface WidgetTypeInterface {
  type: string;
  displayComponent: () => Promise<{ default: WidgetDisplayComponentInterface }>;
  settingsComponent: () => Promise<{
    default: WidgetSettingsComponentInterface;
  }>;
  meta?: {
    linkedData?: boolean;
    linkedHistory?: boolean;
  };
  presets: WidgetTypePresetsInterface[];

  dataVisualisation?: boolean;

  dataItems?: DataItemSelectionInterface;

  dataHistory?: DataItemHistorySelectionInterface;
}
