UNPKG

@apoorvdwi/excalidraw-collab

Version:
1,300 lines (1,299 loc) 591 kB
/// <reference types="react" /> import { ExcalidrawElement } from "../element/types"; import { AppState, NormalizedZoomValue } from "../types"; export declare const actionChangeViewBackgroundColor: { name: "changeViewBackgroundColor"; trackEvent: false; predicate: (elements: readonly ExcalidrawElement[], appState: AppState, props: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean; perform: (_: readonly ExcalidrawElement[], appState: Readonly<AppState>, value: any) => { appState: any; commitToHistory: boolean; }; PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element; } & { keyTest?: undefined; }; export declare const actionClearCanvas: { name: "clearCanvas"; trackEvent: { category: "canvas"; }; predicate: (elements: readonly ExcalidrawElement[], appState: AppState, props: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean; perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: import("../types").AppClassProperties) => { elements: ExcalidrawElement[]; appState: { files: {}; theme: string; penMode: boolean; penDetected: boolean; exportBackground: boolean; exportEmbedScene: boolean; gridSize: number | null; showStats: boolean; pasteDialog: { shown: false; data: null; } | { shown: true; data: import("../charts").Spreadsheet; }; activeTool: ({ lastActiveTool: import("../types").LastActiveTool; locked: boolean; } & { type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand"; customType: null; }) | ({ lastActiveTool: import("../types").LastActiveTool; locked: boolean; } & { type: "custom"; customType: string; }); name: string; scrollX: number; scrollY: number; viewBackgroundColor: string; zoom: Readonly<{ value: NormalizedZoomValue; }>; shouldCacheIgnoreZoom: boolean; editingGroupId: string | null; viewModeEnabled: boolean; zenModeEnabled: boolean; contextMenu: { items: import("../components/ContextMenu").ContextMenuItems; top: number; left: number; } | null; showWelcomeScreen: boolean; isLoading: boolean; errorMessage: string | null; draggingElement: (Readonly<{ id: string; x: number; y: number; strokeColor: string; backgroundColor: string; fillStyle: import("../element/types").FillStyle; strokeWidth: number; strokeStyle: import("../element/types").StrokeStyle; roundness: { type: ValueOf<{ readonly LEGACY: 1; readonly PROPORTIONAL_RADIUS: 2; readonly ADAPTIVE_RADIUS: 3; }>; value?: number | undefined; } | null; roughness: number; opacity: number; width: number; height: number; angle: number; seed: number; version: number; versionNonce: number; isDeleted: boolean; groupIds: readonly string[]; boundElements: readonly Readonly<{ id: string; type: "arrow" | "text"; }>[] | null; updated: number; link: string | null; locked: boolean; customData?: Record<string, any> | undefined; }> & Readonly<{ type: "line" | "arrow"; points: readonly (readonly [number, number])[]; lastCommittedPoint: readonly [number, number] | null; startBinding: import("../element/types").PointBinding | null; endBinding: import("../element/types").PointBinding | null; startArrowhead: "bar" | "arrow" | "dot" | "triangle" | null; endArrowhead: "bar" | "arrow" | "dot" | "triangle" | null; }> & { isDeleted: boolean; }) | (Readonly<{ id: string; x: number; y: number; strokeColor: string; backgroundColor: string; fillStyle: import("../element/types").FillStyle; strokeWidth: number; strokeStyle: import("../element/types").StrokeStyle; roundness: { type: ValueOf<{ readonly LEGACY: 1; readonly PROPORTIONAL_RADIUS: 2; readonly ADAPTIVE_RADIUS: 3; }>; value?: number | undefined; } | null; roughness: number; opacity: number; width: number; height: number; angle: number; seed: number; version: number; versionNonce: number; isDeleted: boolean; groupIds: readonly string[]; boundElements: readonly Readonly<{ id: string; type: "arrow" | "text"; }>[] | null; updated: number; link: string | null; locked: boolean; customData?: Record<string, any> | undefined; }> & { type: "selection"; } & { isDeleted: boolean; }) | (Readonly<{ id: string; x: number; y: number; strokeColor: string; backgroundColor: string; fillStyle: import("../element/types").FillStyle; strokeWidth: number; strokeStyle: import("../element/types").StrokeStyle; roundness: { type: ValueOf<{ readonly LEGACY: 1; readonly PROPORTIONAL_RADIUS: 2; readonly ADAPTIVE_RADIUS: 3; }>; value?: number | undefined; } | null; roughness: number; opacity: number; width: number; height: number; angle: number; seed: number; version: number; versionNonce: number; isDeleted: boolean; groupIds: readonly string[]; boundElements: readonly Readonly<{ id: string; type: "arrow" | "text"; }>[] | null; updated: number; link: string | null; locked: boolean; customData?: Record<string, any> | undefined; }> & { type: "rectangle"; } & { isDeleted: boolean; }) | (Readonly<{ id: string; x: number; y: number; strokeColor: string; backgroundColor: string; fillStyle: import("../element/types").FillStyle; strokeWidth: number; strokeStyle: import("../element/types").StrokeStyle; roundness: { type: ValueOf<{ readonly LEGACY: 1; readonly PROPORTIONAL_RADIUS: 2; readonly ADAPTIVE_RADIUS: 3; }>; value?: number | undefined; } | null; roughness: number; opacity: number; width: number; height: number; angle: number; seed: number; version: number; versionNonce: number; isDeleted: boolean; groupIds: readonly string[]; boundElements: readonly Readonly<{ id: string; type: "arrow" | "text"; }>[] | null; updated: number; link: string | null; locked: boolean; customData?: Record<string, any> | undefined; }> & { type: "diamond"; } & { isDeleted: boolean; }) | (Readonly<{ id: string; x: number; y: number; strokeColor: string; backgroundColor: string; fillStyle: import("../element/types").FillStyle; strokeWidth: number; strokeStyle: import("../element/types").StrokeStyle; roundness: { type: ValueOf<{ readonly LEGACY: 1; readonly PROPORTIONAL_RADIUS: 2; readonly ADAPTIVE_RADIUS: 3; }>; value?: number | undefined; } | null; roughness: number; opacity: number; width: number; height: number; angle: number; seed: number; version: number; versionNonce: number; isDeleted: boolean; groupIds: readonly string[]; boundElements: readonly Readonly<{ id: string; type: "arrow" | "text"; }>[] | null; updated: number; link: string | null; locked: boolean; customData?: Record<string, any> | undefined; }> & { type: "ellipse"; } & { isDeleted: boolean; }) | (Readonly<{ id: string; x: number; y: number; strokeColor: string; backgroundColor: string; fillStyle: import("../element/types").FillStyle; strokeWidth: number; strokeStyle: import("../element/types").StrokeStyle; roundness: { type: ValueOf<{ readonly LEGACY: 1; readonly PROPORTIONAL_RADIUS: 2; readonly ADAPTIVE_RADIUS: 3; }>; value?: number | undefined; } | null; roughness: number; opacity: number; width: number; height: number; angle: number; seed: number; version: number; versionNonce: number; isDeleted: boolean; groupIds: readonly string[]; boundElements: readonly Readonly<{ id: string; type: "arrow" | "text"; }>[] | null; updated: number; link: string | null; locked: boolean; customData?: Record<string, any> | undefined; }> & Readonly<{ type: "image"; fileId: import("../element/types").FileId | null; status: "pending" | "saved" | "error"; scale: [number, number]; }> & { isDeleted: boolean; }) | (Readonly<{ id: string; x: number; y: number; strokeColor: string; backgroundColor: string; fillStyle: import("../element/types").FillStyle; strokeWidth: number; strokeStyle: import("../element/types").StrokeStyle; roundness: { type: ValueOf<{ readonly LEGACY: 1; readonly PROPORTIONAL_RADIUS: 2; readonly ADAPTIVE_RADIUS: 3; }>; value?: number | undefined; } | null; roughness: number; opacity: number; width: number; height: number; angle: number; seed: number; version: number; versionNonce: number; isDeleted: boolean; groupIds: readonly string[]; boundElements: readonly Readonly<{ id: string; type: "arrow" | "text"; }>[] | null; updated: number; link: string | null; locked: boolean; customData?: Record<string, any> | undefined; }> & Readonly<{ type: "text"; fontSize: number; fontFamily: number; text: string; baseline: number; textAlign: string; verticalAlign: string; containerId: string | null; originalText: string; }> & { isDeleted: boolean; }) | (Readonly<{ id: string; x: number; y: number; strokeColor: string; backgroundColor: string; fillStyle: import("../element/types").FillStyle; strokeWidth: number; strokeStyle: import("../element/types").StrokeStyle; roundness: { type: ValueOf<{ readonly LEGACY: 1; readonly PROPORTIONAL_RADIUS: 2; readonly ADAPTIVE_RADIUS: 3; }>; value?: number | undefined; } | null; roughness: number; opacity: number; width: number; height: number; angle: number; seed: number; version: number; versionNonce: number; isDeleted: boolean; groupIds: readonly string[]; boundElements: readonly Readonly<{ id: string; type: "arrow" | "text"; }>[] | null; updated: number; link: string | null; locked: boolean; customData?: Record<string, any> | undefined; }> & Readonly<{ type: "freedraw"; points: readonly (readonly [number, number])[]; pressures: readonly number[]; simulatePressure: boolean; lastCommittedPoint: readonly [number, number] | null; }> & { isDeleted: boolean; }) | null; resizingElement: (Readonly<{ id: string; x: number; y: number; strokeColor: string; backgroundColor: string; fillStyle: import("../element/types").FillStyle; strokeWidth: number; strokeStyle: import("../element/types").StrokeStyle; roundness: { type: ValueOf<{ readonly LEGACY: 1; readonly PROPORTIONAL_RADIUS: 2; readonly ADAPTIVE_RADIUS: 3; }>; value?: number | undefined; } | null; roughness: number; opacity: number; width: number; height: number; angle: number; seed: number; version: number; versionNonce: number; isDeleted: boolean; groupIds: readonly string[]; boundElements: readonly Readonly<{ id: string; type: "arrow" | "text"; }>[] | null; updated: number; link: string | null; locked: boolean; customData?: Record<string, any> | undefined; }> & Readonly<{ type: "line" | "arrow"; points: readonly (readonly [number, number])[]; lastCommittedPoint: readonly [number, number] | null; startBinding: import("../element/types").PointBinding | null; endBinding: import("../element/types").PointBinding | null; startArrowhead: "bar" | "arrow" | "dot" | "triangle" | null; endArrowhead: "bar" | "arrow" | "dot" | "triangle" | null; }> & { isDeleted: boolean; }) | (Readonly<{ id: string; x: number; y: number; strokeColor: string; backgroundColor: string; fillStyle: import("../element/types").FillStyle; strokeWidth: number; strokeStyle: import("../element/types").StrokeStyle; roundness: { type: ValueOf<{ readonly LEGACY: 1; readonly PROPORTIONAL_RADIUS: 2; readonly ADAPTIVE_RADIUS: 3; }>; value?: number | undefined; } | null; roughness: number; opacity: number; width: number; height: number; angle: number; seed: number; version: number; versionNonce: number; isDeleted: boolean; groupIds: readonly string[]; boundElements: readonly Readonly<{ id: string; type: "arrow" | "text"; }>[] | null; updated: number; link: string | null; locked: boolean; customData?: Record<string, any> | undefined; }> & { type: "selection"; } & { isDeleted: boolean; }) | (Readonly<{ id: string; x: number; y: number; strokeColor: string; backgroundColor: string; fillStyle: import("../element/types").FillStyle; strokeWidth: number; strokeStyle: import("../element/types").StrokeStyle; roundness: { type: ValueOf<{ readonly LEGACY: 1; readonly PROPORTIONAL_RADIUS: 2; readonly ADAPTIVE_RADIUS: 3; }>; value?: number | undefined; } | null; roughness: number; opacity: number; width: number; height: number; angle: number; seed: number; version: number; versionNonce: number; isDeleted: boolean; groupIds: readonly string[]; boundElements: readonly Readonly<{ id: string; type: "arrow" | "text"; }>[] | null; updated: number; link: string | null; locked: boolean; customData?: Record<string, any> | undefined; }> & { type: "rectangle"; } & { isDeleted: boolean; }) | (Readonly<{ id: string; x: number; y: number; strokeColor: string; backgroundColor: string; fillStyle: import("../element/types").FillStyle; strokeWidth: number; strokeStyle: import("../element/types").StrokeStyle; roundness: { type: ValueOf<{ readonly LEGACY: 1; readonly PROPORTIONAL_RADIUS: 2; readonly ADAPTIVE_RADIUS: 3; }>; value?: number | undefined; } | null; roughness: number; opacity: number; width: number; height: number; angle: number; seed: number; version: number; versionNonce: number; isDeleted: boolean; groupIds: readonly string[]; boundElements: readonly Readonly<{ id: string; type: "arrow" | "text"; }>[] | null; updated: number; link: string | null; locked: boolean; customData?: Record<string, any> | undefined; }> & { type: "diamond"; } & { isDeleted: boolean; }) | (Readonly<{ id: string; x: number; y: number; strokeColor: string; backgroundColor: string; fillStyle: import("../element/types").FillStyle; strokeWidth: number; strokeStyle: import("../element/types").StrokeStyle; roundness: { type: ValueOf<{ readonly LEGACY: 1; readonly PROPORTIONAL_RADIUS: 2; readonly ADAPTIVE_RADIUS: 3; }>; value?: number | undefined; } | null; roughness: number; opacity: number; width: number; height: number; angle: number; seed: number; version: number; versionNonce: number; isDeleted: boolean; groupIds: readonly string[]; boundElements: readonly Readonly<{ id: string; type: "arrow" | "text"; }>[] | null; updated: number; link: string | null; locked: boolean; customData?: Record<string, any> | undefined; }> & { type: "ellipse"; } & { isDeleted: boolean; }) | (Readonly<{ id: string; x: number; y: number; strokeColor: string; backgroundColor: string; fillStyle: import("../element/types").FillStyle; strokeWidth: number; strokeStyle: import("../element/types").StrokeStyle; roundness: { type: ValueOf<{ readonly LEGACY: 1; readonly PROPORTIONAL_RADIUS: 2; readonly ADAPTIVE_RADIUS: 3; }>; value?: number | undefined; } | null; roughness: number; opacity: number; width: number; height: number; angle: number; seed: number; version: number; versionNonce: number; isDeleted: boolean; groupIds: readonly string[]; boundElements: readonly Readonly<{ id: string; type: "arrow" | "text"; }>[] | null; updated: number; link: string | null; locked: boolean; customData?: Record<string, any> | undefined; }> & Readonly<{ type: "image"; fileId: import("../element/types").FileId | null; status: "pending" | "saved" | "error"; scale: [number, number]; }> & { isDeleted: boolean; }) | (Readonly<{ id: string; x: number; y: number; strokeColor: string; backgroundColor: string; fillStyle: import("../element/types").FillStyle; strokeWidth: number; strokeStyle: import("../element/types").StrokeStyle; roundness: { type: ValueOf<{ readonly LEGACY: 1; readonly PROPORTIONAL_RADIUS: 2; readonly ADAPTIVE_RADIUS: 3; }>; value?: number | undefined; } | null; roughness: number; opacity: number; width: number; height: number; angle: number; seed: number; version: number; versionNonce: number; isDeleted: boolean; groupIds: readonly string[]; boundElements: readonly Readonly<{ id: string; type: "arrow" | "text"; }>[] | null; updated: number; link: string | null; locked: boolean; customData?: Record<string, any> | undefined; }> & Readonly<{ type: "text"; fontSize: number; fontFamily: number; text: string; baseline: number; textAlign: string; verticalAlign: string; containerId: string | null; originalText: string; }> & { isDeleted: boolean; }) | (Readonly<{ id: string; x: number; y: number; strokeColor: string; backgroundColor: string; fillStyle: import("../element/types").FillStyle; strokeWidth: number; strokeStyle: import("../element/types").StrokeStyle; roundness: { type: ValueOf<{ readonly LEGACY: 1; readonly PROPORTIONAL_RADIUS: 2; readonly ADAPTIVE_RADIUS: 3; }>; value?: number | undefined; } | null; roughness: number; opacity: number; width: number; height: number; angle: number; seed: number; version: number; versionNonce: number; isDeleted: boolean; groupIds: readonly string[]; boundElements: readonly Readonly<{ id: string; type: "arrow" | "text"; }>[] | null; updated: number; link: string | null; locked: boolean; customData?: Record<string, any> | undefined; }> & Readonly<{ type: "freedraw"; points: readonly (readonly [number, number])[]; pressures: readonly number[]; simulatePressure: boolean; lastCommittedPoint: readonly [number, number] | null; }> & { isDeleted: boolean; }) | null; multiElement: (Readonly<{ id: string; x: number; y: number; strokeColor: string; backgroundColor: string; fillStyle: import("../element/types").FillStyle; strokeWidth: number; strokeStyle: import("../element/types").StrokeStyle; roundness: { type: ValueOf<{ readonly LEGACY: 1; readonly PROPORTIONAL_RADIUS: 2; readonly ADAPTIVE_RADIUS: 3; }>; value?: number | undefined; } | null; roughness: number; opacity: number; width: number; height: number; angle: number; seed: number; version: number; versionNonce: number; isDeleted: boolean; groupIds: readonly string[]; boundElements: readonly Readonly<{ id: string; type: "arrow" | "text"; }>[] | null; updated: number; link: string | null; locked: boolean; customData?: Record<string, any> | undefined; }> & Readonly<{ type: "line" | "arrow"; points: readonly (readonly [number, number])[]; lastCommittedPoint: readonly [number, number] | null; startBinding: import("../element/types").PointBinding | null; endBinding: import("../element/types").PointBinding | null; startArrowhead: "bar" | "arrow" | "dot" | "triangle" | null; endArrowhead: "bar" | "arrow" | "dot" | "triangle" | null; }> & { isDeleted: boolean; }) | null; selectionElement: (Readonly<{ id: string; x: number; y: number; strokeColor: string; backgroundColor: string; fillStyle: import("../element/types").FillStyle; strokeWidth: number; strokeStyle: import("../element/types").StrokeStyle; roundness: { type: ValueOf<{ readonly LEGACY: 1; readonly PROPORTIONAL_RADIUS: 2; readonly ADAPTIVE_RADIUS: 3; }>; value?: number | undefined; } | null; roughness: number; opacity: number; width: number; height: number; angle: number; seed: number; version: number; versionNonce: number; isDeleted: boolean; groupIds: readonly string[]; boundElements: readonly Readonly<{ id: string; type: "arrow" | "text"; }>[] | null; updated: number; link: string | null; locked: boolean; customData?: Record<string, any> | undefined; }> & Readonly<{ type: "line" | "arrow"; points: readonly (readonly [number, number])[]; lastCommittedPoint: readonly [number, number] | null; startBinding: import("../element/types").PointBinding | null; endBinding: import("../element/types").PointBinding | null; startArrowhead: "bar" | "arrow" | "dot" | "triangle" | null; endArrowhead: "bar" | "arrow" | "dot" | "triangle" | null; }> & { isDeleted: boolean; }) | (Readonly<{ id: string; x: number; y: number; strokeColor: string; backgroundColor: string; fillStyle: import("../element/types").FillStyle; strokeWidth: number; strokeStyle: import("../element/types").StrokeStyle; roundness: { type: ValueOf<{ readonly LEGACY: 1; readonly PROPORTIONAL_RADIUS: 2; readonly ADAPTIVE_RADIUS: 3; }>; value?: number | undefined; } | null; roughness: number; opacity: number; width: number; height: number; angle: number; seed: number; version: number; versionNonce: number; isDeleted: boolean; groupIds: readonly string[]; boundElements: readonly Readonly<{ id: string; type: "arrow" | "text"; }>[] | null; updated: number; link: string | null; locked: boolean; customData?: Record<string, any> | undefined; }> & { type: "selection"; } & { isDeleted: boolean; }) | (Readonly<{ id: string; x: number; y: number; strokeColor: string; backgroundColor: string; fillStyle: import("../element/types").FillStyle; strokeWidth: number; strokeStyle: import("../element/types").StrokeStyle; roundness: { type: ValueOf<{ readonly LEGACY: 1; readonly PROPORTIONAL_RADIUS: 2; readonly ADAPTIVE_RADIUS: 3; }>; value?: number | undefined; } | null; roughness: number; opacity: number; width: number; height: number; angle: number; seed: number; version: number; versionNonce: number; isDeleted: boolean; groupIds: readonly string[]; boundElements: readonly Readonly<{ id: string; type: "arrow" | "text"; }>[] | null; updated: number; link: string | null; locked: boolean; customData?: Record<string, any> | undefined; }> & { type: "rectangle"; } & { isDeleted: boolean; }) | (Readonly<{ id: string; x: number; y: number; strokeColor: string; backgroundColor: string; fillStyle: import("../element/types").FillStyle; strokeWidth: number; strokeStyle: import("../element/types").StrokeStyle; roundness: { type: ValueOf<{ readonly LEGACY: 1; readonly PROPORTIONAL_RADIUS: 2; readonly ADAPTIVE_RADIUS: 3; }>; value?: number | undefined; } | null; roughness: number; opacity: number; width: number; height: number; angle: number; seed: number; version: number; versionNonce: number; isDeleted: boolean; groupIds: readonly string[]; boundElements: readonly Readonly<{ id: string; type: "arrow" | "text"; }>[] | null; updated: number; link: string | null; locked: boolean; customData?: Record<string, any> | undefined; }> & { type: "diamond"; } & { isDeleted: boolean; }) | (Readonly<{ id: string; x: number; y: number; strokeColor: string; backgroundColor: string; fillStyle: import("../element/types").FillStyle; strokeWidth: number; strokeStyle: import("../element/types").StrokeStyle; roundness: { type: ValueOf<{ readonly LEGACY: 1; readonly PROPORTIONAL_RADIUS: 2; readonly ADAPTIVE_RADIUS: 3; }>; value?: number | undefined; } | null; roughness: number; opacity: number; width: number; height: number; angle: number; seed: number; version: number; versionNonce: number; isDeleted: boolean; groupIds: readonly string[]; boundElements: readonly Readonly<{ id: string; type: "arrow" | "text"; }>[] | null; updated: number; link: string | null; locked: boolean; customData?: Record<string, any> | undefined; }> & { type: "ellipse"; } & { isDeleted: boolean; }) | (Readonly<{ id: string; x: number; y: number; strokeColor: string; backgroundColor: string; fillStyle: import("../element/types").FillStyle; strokeWidth: number; strokeStyle: import("../element/types").StrokeStyle; roundness: { type: ValueOf<{ readonly LEGACY: 1; readonly PROPORTIONAL_RADIUS: 2; readonly ADAPTIVE_RADIUS: 3; }>; value?: number | undefined; } | null; roughness: number; opacity: number; width: number; height: number; angle: number; seed: number; version: number; versionNonce: number; isDeleted: boolean; groupIds: readonly string[]; boundElements: readonly Readonly<{ id: string; type: "arrow" | "text"; }>[] | null; updated: number; link: string | null; locked: boolean; customData?: Record<string, any> | undefined; }> & Readonly<{ type: "image"; fileId: import("../element/types").FileId | null; status: "pending" | "saved" | "error"; scale: [number, number]; }> & { isDeleted: boolean; }) | (Readonly<{ id: string; x: number; y: number; strokeColor: string; backgroundColor: string; fillStyle: import("../element/types").FillStyle; strokeWidth: number; strokeStyle: import("../element/types").StrokeStyle; roundness: { type: ValueOf<{ readonly LEGACY: 1; readonly PROPORTIONAL_RADIUS: 2; readonly ADAPTIVE_RADIUS: 3; }>; value?: number | undefined; } | null; roughness: number; opacity: number; width: number; height: number; angle: number; seed: number; version: number; versionNonce: number; isDeleted: boolean; groupIds: readonly string[]; boundElements: readonly Readonly<{ id: string; type: "arrow" | "text"; }>[] | null; updated: number; link: string | null; locked: boolean; customData?: Record<string, any> | undefined; }> & Readonly<{ type: "text"; fontSize: number; fontFamily: number; text: string; baseline: number; textAlign: string; verticalAlign: string; containerId: string | null; originalText: string; }> & { isDeleted: boolean; }) | (Readonly<{ id: string; x: number; y: number; strokeColor: string; backgroundColor: string; fillStyle: import("../element/types").FillStyle; strokeWidth: number; strokeStyle: import("../element/types").StrokeStyle; roundness: { type: ValueOf<{ readonly LEGACY: 1; readonly PROPORTIONAL_RADIUS: 2; readonly ADAPTIVE_RADIUS: 3; }>; value?: number | undefined; } | null; roughness: number; opacity: number; width: number; height: number; angle: number; seed: number; version: number; versionNonce: number; isDeleted: boolean; groupIds: readonly string[]; boundElements: readonly Readonly<{ id: string; type: "arrow" | "text"; }>[] | null; updated: number; link: string | null; locked: boolean; customData?: Record<string, any> | undefined; }> & Readonly<{ type: "freedraw"; points: readonly (readonly [number, number])[]; pressures: readonly number[]; simulatePressure: boolean; lastCommittedPoint: readonly [number, number] | null; }> & { isDeleted: boolean; }) | null; isBindingEnabled: boolean; startBoundElement: (Readonly<{ id: string; x: number; y: number; strokeColor: string; backgroundColor: string; fillStyle: import("../element/types").FillStyle; strokeWidth: number; strokeStyle: import("../element/types").StrokeStyle; roundness: { type: ValueOf<{ readonly LEGACY: 1; readonly PROPORTIONAL_RADIUS: 2; readonly ADAPTIVE_RADIUS: 3; }>; value?: number | undefined; } | null; roughness: number; opacity: number; width: number; height: number; angle: number; seed: number; version: number; versionNonce: number; isDeleted: boolean; groupIds: readonly string[]; boundElements: readonly Readonly<{ id: string; type: "arrow" | "text"; }>[] | null; updated: number; link: string | null; locked: boolean; customData?: Record<string, any> | undefined; }> & { type: "rectangle"; } & { isDeleted: boolean; }) | (Readonly<{ id: string; x: number; y: number; strokeColor: string; backgroundColor: string; fillStyle: import("../element/types").FillStyle; strokeWidth: number; strokeStyle: import("../element/types").StrokeStyle; roundness: { type: ValueOf<{ readonly LEGACY: 1; readonly PROPORTIONAL_RADIUS: 2; readonly ADAPTIVE_RADIUS: 3; }>; value?: number | undefined; } | null; roughness: number; opacity: number; width: number; height: number; angle: number; seed: number; version: number; versionNonce: number; isDeleted: boolean; groupIds: readonly string[]; boundElements: readonly Readonly<{ id: string; type: "arrow" | "text"; }>[] | null; updated: number; link: string | null; locked: boolean; customData?: Record<string, any> | undefined; }> & { type: "diamond"; } & { isDeleted: boolean; }) | (Readonly<{ id: string; x: number; y: number; strokeColor: string; backgroundColor: string; fillStyle: import("../element/types").FillStyle; strokeWidth: number; strokeStyle: import("../element/types").StrokeStyle; roundness: { type: ValueOf<{ readonly LEGACY: 1; readonly PROPORTIONAL_RADIUS: 2; readonly ADAPTIVE_RADIUS: 3; }>; value?: number | undefined; } | null; roughness: number; opacity: number; width: number; height: number; angle: number; seed: number; version: number; versionNonce: number; isDeleted: boolean; groupIds: readonly string[]; boundElements: readonly Readonly<{ id: string; type: "arrow" | "text"; }>[] | null; updated: number; link: string | null; locked: boolean; customData?: Record<string, any> | undefined; }> & { type: "ellipse"; } & { isDeleted: boolean; }) | (Readonly<{ id: string; x: number; y: number; strokeColor: string; backgroundColor: string; fillStyle: import("../element/types").FillStyle; strokeWidth: number; strokeStyle: import("../element/types").StrokeStyle; roundness: { type: ValueOf<{ readonly LEGACY: 1; readonly PROPORTIONAL_RADIUS: 2; readonly ADAPTIVE_RADIUS: 3; }>; value?: number | undefined; } | null; roughness: number; opacity: number; width: number; height: number; angle: number; seed: number; version: number; versionNonce: number; isDeleted: boolean; groupIds: readonly string[]; boundElements: readonly Readonly<{ id: string; type: "arrow" | "text"; }>[] | null; updated: number; link: string | null; locked: boolean; customData?: Record<string, any> | undefined; }> & Readonly<{ type: "image"; fileId: import("../element/types").FileId | null; status: "pending" | "saved" | "error"; scale: [number, number]; }> & { isDeleted: boolean; }) | (Readonly<{ id: string; x: number; y: number; strokeColor: string; backgroundColor: string; fillStyle: import("../element/types").FillStyle; strokeWidth: number; strokeStyle: import("../element/types").StrokeStyle; roundness: { type: ValueOf<{ readonly LEGACY: 1; readonly PROPORTIONAL_RADIUS: 2; readonly ADAPTIVE_RADIUS: 3; }>; value?: number | undefined; } | null; roughness: number; opacity: number; width: number;