import { MutableRefObject } from 'react'; export type CanvasContextRef = MutableRefObject; export type EmiterListener = (...args: any) => unknown; export type Emiter = Record; export type EmiterRef = MutableRefObject; export interface Point { x: number; y: number; scale?: number; } export declare enum HistoryItemType { Edit = 0, Source = 1 } export interface HistoryItemEdit { type: HistoryItemType.Edit; data: E; source: HistoryItemSource; } export interface HistoryItemSource { name: string; type: HistoryItemType.Source; data: S; isSelected?: boolean; editHistory: HistoryItemEdit[]; draw: (ctx: CanvasRenderingContext2D, action: HistoryItemSource, options?: { isCompose?: boolean; }) => void; isHit?: (ctx: CanvasRenderingContext2D, action: HistoryItemSource, point: Point) => boolean; } export type HistoryItem = HistoryItemEdit | HistoryItemSource; export interface History { index: number; stack: HistoryItem[]; } export interface Bounds { x: number; y: number; width: number; height: number; } export declare enum Mode { Screenshot = "screenshots", ShareScreen = "sharescreen", Editor = "editor" } export interface Info { id: number; x: number; y: number; height: number; width: number; isMinimized: boolean; isMaximized: boolean; monitorId: number; appName: string; currentMonitor: { id: string; [key: string]: any; }; title: string; imageUrl?: string; image?: HTMLImageElement; } export interface Display { id: number; x: number; y: number; width: number; height: number; } export type ExtraScreenshotInfo = { windowsInfo: Info[]; currentDisplay: Display; [key: string]: any; }; export type Position = Point; export type MosaicType = 'rectangle' | 'point';