@apoorvdwi/excalidraw-collab
Version:
Excalidraw as a React component
1,300 lines (1,299 loc) • 591 kB
TypeScript
/// <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;