import { ICellData, IWorkbookData } from '@univerjs/core';
import * as echarts from 'echarts';

export interface DesignStateProps {
  [prop: string]: any;
  activeWorkbook: any;

  activeWorkbookId: any;

  activeWorksheet: any;

  activeWorksheetId: any;
  beforeCommandExecuteMonitor: any;
  commandExecuteMonitor: any;
  configDialogCellTarget: null;

  containerEleId: any;

  dialogCellInstance: any;
  jnpfUniverAPI: any;

  loading: boolean;
  openDialogCell: boolean;
  selectionChangeMonitor: any;

  univer: any;
  univerCreateMode: 'design' | 'preview' | 'print';
}

export interface CreateUnitProps {
  cellEcharts?: Record<string, any>;

  defaultActiveSheetId?: string;
  floatEcharts?: Record<string, any>;
  floatImages?: Record<string, any>;
  loading?: boolean;

  mode?: 'design' | 'preview' | 'print';

  readonly?: boolean;
  snapshot?: IWorkbookData;
  uiContextMenu?: boolean;

  uiFooter?: boolean;

  uiHeader?: boolean;

  watermark?: Record<string, any>;

  darkMode?: boolean;
}

export interface DeliverFloatEchartOptionProps {
  drawingId: string;
  echartType: 'bar' | 'line' | 'pie' | 'radar';
  option: echarts.EChartsOption;
}

export interface DeliverFloatImageOptionProps {
  drawingId: string;
  imageType: 'BASE64' | 'URL';
  option: any;
}

export interface DeliverCellDataProps {
  cellData: ICellData;
  startColumn: number;
  startRow: number;
}
