import { WidgetKind } from '@livelike/javascript';
import { LLCoreWidget, LLCoreWidgetProps } from './LLCoreWidget';
import { LLWidgetFooter, LLWidgetFooterProps } from './LLWidgetFooter';
import { LLWidgetHeader, LLWidgetHeaderProps } from './LLWidgetHeader';

export type LLBaseWidgetProps = {
  programId: string;
  widgetId: string;
  widgetKind: WidgetKind;
  onDismiss?: () => void;
  interactiveTimeout?: number | null;
  onInteractiveTimeout?: () => void;
  WidgetComponent?: typeof LLCoreWidget;
  WidgetComponentStyles?: LLCoreWidgetProps['styles'];
  HeaderComponent?: typeof LLWidgetHeader;
  HeaderComponentStyles?: LLWidgetHeaderProps['styles'];
  FooterComponent?: typeof LLWidgetFooter;
  FooterComponentStyles?: LLWidgetFooterProps['styles'];
};
