import { Domain } from '../../utils/types'; export type GenomeBrowserDomainChangedAction = { type: "domainChanged"; newDomain: Domain; }; export type GenomeBrowserHeightChangedAction = { type: "heightChanged"; newHeight: number; }; export type GenomeBrowserTooltipChangedAction = { type: "tooltipChanged"; tooltip: ToolTipData; }; export type GenomeBrowserContextMenuChangedAction = { type: "contextMenuChanged"; contextmenu: ContextMenuData; }; export type ToolTipData = { show: boolean, x: number, y: number, width: number, height: number, content?: React.ReactElement } export type ContextMenuData = { show: boolean, x: number, y: number, id: string, displayMode?: string, displayModeOptions?: string[], downloadSVG?: () => void }; export type GenomeBrowserAction = GenomeBrowserDomainChangedAction | GenomeBrowserHeightChangedAction | GenomeBrowserTooltipChangedAction | GenomeBrowserContextMenuChangedAction ; export type StackedTrackProps = { id: string; transform?: string; height?: number; onHeightChanged?: (height: number) => void; svgRef?: React.RefObject; }; export type StackedTrackState = { heights: number[]; }; export type StackedTrackChildHeightChangedAction = { type: "childHeightChanged"; index: number; height: number; }; export type StackedTrackChildrenAddedAction = { type: "childrenAdded"; heights: number[]; }; export type StackedTrackAction = StackedTrackChildHeightChangedAction | StackedTrackChildrenAddedAction;