import { Type } from '@angular/core';
import { WidgetConfig } from '../../shared/models/config';
import { SectionConfig } from '../../shared/models/config';
import { WidgetVisibilityConfig } from '../../shared/models/config';

export interface WidgetRenderNode {
  id: string;
  type: string;
  version: string;
  order?: number;
  padding?: string;
  visibility?: WidgetVisibilityConfig;
  props: Record<string, unknown>;
  featureFlag?: string;
  visible?: boolean;
  source: WidgetConfig;
}

export interface ResolvedWidgetRenderNode {
  type: string;
  version: string;
  component: Type<unknown>;
  section: SectionConfig;
  data: unknown;
}
