import {
  AxisDefaults as KendoAxisDefaults,
  PaneDefaults as KendoPaneDefaults,
  Pane as KendoPane,
  DragAction as KendoDragAction,
  SeriesDefaults as KendoSeriesDefaults,
  Zoomable as KendoZoomable,
  AxisLabelClickEvent as KendoAxisLabelClickEvent,
  DragEvent as KendoDragEvent,
  DragEndEvent as KendoDragEndEvent,
  DragStartEvent as KendoDragStartEvent,
  LegendItemClickEvent as KendoLegendItemClickEvent,
  LegendItemHoverEvent as KendoLegendItemHoverEvent,
  NavigatorFilterEvent as KendoNavigatorFilterEvent,
  NoteClickEvent as KendoNoteClickEvent,
  NoteHoverEvent as KendoNoteHoverEvent,
  PlotAreaClickEvent as KendoPlotAreaClickEvent,
  PlotAreaHoverEvent as KendoPlotAreaHoverEvent,
  RenderEvent as KendoRenderEvent,
  SelectEvent as KendoSelectEvent,
  SelectEndEvent as KendoSelectEndEvent,
  SelectStartEvent as KendoSelectStartEvent,
  SeriesClickEvent as KendoSeriesClickEvent,
  SeriesHoverEvent as KendoSeriesHoverEvent,
  ZoomEvent as KendoZoomEvent,
  ZoomEndEvent as KendoZoomEndEvent,
  ZoomStartEvent as KendoZoomStartEvent,
} from "@progress/kendo-react-charts";

export interface StockChartProps {
  dataTestId?: string;
  children?: React.ReactNode;
  axisDefaults?: KendoAxisDefaults;
  className?: string;
  dir?: string;
  paneDefaults?: KendoPaneDefaults;
  panes?: KendoPane[];
  pannable?: boolean | KendoDragAction;
  partialRedraw?: boolean;
  renderAs?: "canvas" | "svg";
  seriesColors?: string[];
  seriesDefaults?: KendoSeriesDefaults;
  style?: React.CSSProperties;
  transitions?: boolean;
  zoomable?: boolean | KendoZoomable;
  onAxisLabelClick?: (event: KendoAxisLabelClickEvent) => void;
  onDrag?: (event: KendoDragEvent) => void;
  onDragEnd?: (event: KendoDragEndEvent) => void;
  onDragStart?: (event: KendoDragStartEvent) => void;
  onLegendItemClick?: (event: KendoLegendItemClickEvent) => void;
  onLegendItemHover?: (event: KendoLegendItemHoverEvent) => void;
  onNavigatorFilter?: (event: KendoNavigatorFilterEvent) => void;
  onNoteClick?: (event: KendoNoteClickEvent) => void;
  onNoteHover?: (event: KendoNoteHoverEvent) => void;
  onPlotAreaClick?: (event: KendoPlotAreaClickEvent) => void;
  onPlotAreaHover?: (event: KendoPlotAreaHoverEvent) => void;
  onRefresh?: (
    chartOptions: any,
    themeOptions: any,
    chartInstance: any
  ) => void;
  onRender?: (event: KendoRenderEvent) => void;
  onSelect?: (event: KendoSelectEvent) => void;
  onSelectEnd?: (event: KendoSelectEndEvent) => void;
  onSelectStart?: (event: KendoSelectStartEvent) => void;
  onSeriesClick?: (event: KendoSeriesClickEvent) => void;
  onSeriesHover?: (event: KendoSeriesHoverEvent) => void;
  onZoom?: (event: KendoZoomEvent) => void;
  onZoomEnd?: (event: KendoZoomEndEvent) => void;
  onZoomStart?: (event: KendoZoomStartEvent) => void;
}
