///
import { type SceneBounds } from "@excalidraw/element/bounds";
import type { ExcalidrawElement } from "@excalidraw/element/types";
import type { AppState, Offsets } from "../types";
export declare const actionChangeViewBackgroundColor: {
name: "changeViewBackgroundColor";
label: string;
trackEvent: false;
predicate: (elements: readonly ExcalidrawElement[], appState: AppState, props: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
perform: (_: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly, value: any) => {
appState: any;
captureUpdate: "IMMEDIATELY" | "EVENTUALLY";
};
PanelComponent: ({ elements, appState, updateData, appProps }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
} & {
keyTest?: undefined;
};
export declare const actionClearCanvas: {
name: "clearCanvas";
label: string;
icon: import("react/jsx-runtime").JSX.Element;
trackEvent: {
category: "canvas";
};
predicate: (elements: readonly ExcalidrawElement[], appState: AppState, props: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly, _: any, app: import("../types").AppClassProperties) => {
elements: import("@excalidraw/element/types").OrderedExcalidrawElement[];
appState: {
files: {};
theme: import("@excalidraw/element/types").Theme;
penMode: boolean;
penDetected: boolean;
exportBackground: boolean;
exportEmbedScene: boolean;
gridSize: number;
gridStep: number;
gridModeEnabled: boolean;
stats: {
open: boolean;
panels: number;
};
pasteDialog: {
shown: false;
data: null;
} | {
shown: true;
data: import("../charts").Spreadsheet;
};
activeTool: {
lastActiveTool: import("../types").ActiveTool | null;
locked: boolean;
fromSelection: boolean;
} & import("../types").ActiveTool;
name: string | null;
zoom: Readonly<{
value: import("../types").NormalizedZoomValue;
}>;
scrollX: number;
scrollY: number;
viewBackgroundColor: string;
frameRendering: {
enabled: boolean;
name: boolean;
outline: boolean;
clip: boolean;
};
viewModeEnabled: boolean;
openDialog: {
name: "imageExport" | "help" | "jsonExport";
} | {
name: "ttd";
tab: "text-to-diagram" | "mermaid";
} | {
name: "commandPalette";
} | {
name: "elementLinkSelector";
sourceElementId: string;
} | null;
editingGroupId: string | null;
selectedElementIds: Readonly<{
[id: string]: true;
}>;
frameToHighlight: import("@excalidraw/element/types").NonDeleted | null;
pendingImageElementId: string | null;
activeEmbeddable: {
element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
state: "hover" | "active";
} | null;
editingLinearElement: import("../../element/src/linearElementEditor").LinearElementEditor | null;
selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
selectedGroupIds: {
[groupId: string]: boolean;
};
selectedLinearElement: import("../../element/src/linearElementEditor").LinearElementEditor | null;
multiElement: import("@excalidraw/element/types").NonDeleted | null;
isBindingEnabled: boolean;
suggestedBindings: import("../../element/src/binding").SuggestedBinding[];
isRotating: boolean;
elementsToHighlight: import("@excalidraw/element/types").NonDeleted[] | null;
collaborators: Map | undefined;
username?: string | null | undefined;
userState?: import("@excalidraw/common").UserIdleState | undefined;
color?: {
background: string;
stroke: string;
} | undefined;
avatarUrl?: string | undefined;
id?: string | undefined;
socketId?: import("../types").SocketId | undefined;
isCurrentUser?: boolean | undefined;
isInCall?: boolean | undefined;
isSpeaking?: boolean | undefined;
isMuted?: boolean | undefined;
}>>;
snapLines: readonly import("../snapping").SnapLine[];
zenModeEnabled: boolean;
editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
isCropping: boolean;
croppingElementId: string | null;
searchMatches: readonly {
id: string;
focus: boolean;
matchedLines: {
offsetX: number;
offsetY: number;
width: number;
height: number;
}[];
}[];
contextMenu: {
items: import("../components/ContextMenu").ContextMenuItems;
top: number;
left: number;
} | null;
showWelcomeScreen: boolean;
isLoading: boolean;
errorMessage: import("react").ReactNode;
newElement: import("@excalidraw/element/types").NonDeleted | null;
resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
startBoundElement: import("@excalidraw/element/types").NonDeleted | null;
editingFrame: string | null;
exportWithDarkMode: boolean;
exportScale: number;
currentItemStrokeColor: string;
currentItemBackgroundColor: string;
currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
currentItemStrokeWidth: number;
currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
currentItemRoughness: number;
currentItemOpacity: number;
currentItemFontFamily: number;
currentItemFontSize: number;
currentItemTextAlign: string;
currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
currentHoveredFontFamily: number | null;
currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
currentItemArrowType: "round" | "sharp" | "elbow";
cursorButton: "up" | "down";
scrolledOutside: boolean;
isResizing: boolean;
openMenu: "canvas" | "shape" | null;
openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
openSidebar: {
name: string;
tab?: string | undefined;
} | null;
defaultSidebarDockedPreference: boolean;
lastPointerDownWith: import("@excalidraw/element/types").PointerType;
hoveredElementIds: Readonly<{
[id: string]: true;
}>;
previousSelectedElementIds: {
[id: string]: true;
};
selectedElementsAreBeingDragged: boolean;
shouldCacheIgnoreZoom: boolean;
toast: {
message: string;
closable?: boolean | undefined;
duration?: number | undefined;
} | null;
fileHandle: import("browser-fs-access").FileSystemHandle | null;
currentChartType: import("@excalidraw/element/types").ChartType;
showHyperlinkPopup: false | "editor" | "info";
originSnapOffset: {
x: number;
y: number;
} | null;
objectsSnapModeEnabled: boolean;
userToFollow: import("../types").UserToFollow | null;
followedBy: Set;
};
captureUpdate: "IMMEDIATELY";
};
} & {
keyTest?: undefined;
};
export declare const actionZoomIn: {
name: "zoomIn";
label: string;
viewMode: true;
icon: import("react/jsx-runtime").JSX.Element;
trackEvent: {
category: "canvas";
};
perform: (_elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly, _: any, app: import("../types").AppClassProperties) => {
appState: {
userToFollow: null;
scrollX: number;
scrollY: number;
zoom: {
value: import("../types").NormalizedZoomValue;
};
contextMenu: {
items: import("../components/ContextMenu").ContextMenuItems;
top: number;
left: number;
} | null;
showWelcomeScreen: boolean;
isLoading: boolean;
errorMessage: import("react").ReactNode;
activeEmbeddable: {
element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
state: "hover" | "active";
} | null;
newElement: import("@excalidraw/element/types").NonDeleted | null;
resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
multiElement: import("@excalidraw/element/types").NonDeleted | null;
selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
isBindingEnabled: boolean;
startBoundElement: import("@excalidraw/element/types").NonDeleted | null;
suggestedBindings: import("../../element/src/binding").SuggestedBinding[];
frameToHighlight: import("@excalidraw/element/types").NonDeleted | null;
frameRendering: {
enabled: boolean;
name: boolean;
outline: boolean;
clip: boolean;
};
editingFrame: string | null;
elementsToHighlight: import("@excalidraw/element/types").NonDeleted[] | null;
editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
editingLinearElement: import("../../element/src/linearElementEditor").LinearElementEditor | null;
activeTool: {
lastActiveTool: import("../types").ActiveTool | null;
locked: boolean;
fromSelection: boolean;
} & import("../types").ActiveTool;
penMode: boolean;
penDetected: boolean;
exportBackground: boolean;
exportEmbedScene: boolean;
exportWithDarkMode: boolean;
exportScale: number;
currentItemStrokeColor: string;
currentItemBackgroundColor: string;
currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
currentItemStrokeWidth: number;
currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
currentItemRoughness: number;
currentItemOpacity: number;
currentItemFontFamily: number;
currentItemFontSize: number;
currentItemTextAlign: string;
currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
currentHoveredFontFamily: number | null;
currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
currentItemArrowType: "round" | "sharp" | "elbow";
viewBackgroundColor: string;
cursorButton: "up" | "down";
scrolledOutside: boolean;
name: string | null;
isResizing: boolean;
isRotating: boolean;
openMenu: "canvas" | "shape" | null;
openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
openSidebar: {
name: string;
tab?: string | undefined;
} | null;
openDialog: {
name: "imageExport" | "help" | "jsonExport";
} | {
name: "ttd";
tab: "text-to-diagram" | "mermaid";
} | {
name: "commandPalette";
} | {
name: "elementLinkSelector";
sourceElementId: string;
} | null;
defaultSidebarDockedPreference: boolean;
lastPointerDownWith: import("@excalidraw/element/types").PointerType;
selectedElementIds: Readonly<{
[id: string]: true;
}>;
hoveredElementIds: Readonly<{
[id: string]: true;
}>;
previousSelectedElementIds: {
[id: string]: true;
};
selectedElementsAreBeingDragged: boolean;
shouldCacheIgnoreZoom: boolean;
toast: {
message: string;
closable?: boolean | undefined;
duration?: number | undefined;
} | null;
zenModeEnabled: boolean;
theme: import("@excalidraw/element/types").Theme;
gridSize: number;
gridStep: number;
gridModeEnabled: boolean;
viewModeEnabled: boolean;
selectedGroupIds: {
[groupId: string]: boolean;
};
editingGroupId: string | null;
width: number;
height: number;
offsetTop: number;
offsetLeft: number;
fileHandle: import("browser-fs-access").FileSystemHandle | null;
collaborators: Map | undefined;
username?: string | null | undefined;
userState?: import("@excalidraw/common").UserIdleState | undefined;
color?: {
background: string;
stroke: string;
} | undefined;
avatarUrl?: string | undefined;
id?: string | undefined;
socketId?: import("../types").SocketId | undefined;
isCurrentUser?: boolean | undefined;
isInCall?: boolean | undefined;
isSpeaking?: boolean | undefined;
isMuted?: boolean | undefined;
}>>;
stats: {
open: boolean;
panels: number;
};
currentChartType: import("@excalidraw/element/types").ChartType;
pasteDialog: {
shown: false;
data: null;
} | {
shown: true;
data: import("../charts").Spreadsheet;
};
pendingImageElementId: string | null;
showHyperlinkPopup: false | "editor" | "info";
selectedLinearElement: import("../../element/src/linearElementEditor").LinearElementEditor | null;
snapLines: readonly import("../snapping").SnapLine[];
originSnapOffset: {
x: number;
y: number;
} | null;
objectsSnapModeEnabled: boolean;
followedBy: Set;
isCropping: boolean;
croppingElementId: string | null;
searchMatches: readonly {
id: string;
focus: boolean;
matchedLines: {
offsetX: number;
offsetY: number;
width: number;
height: number;
}[];
}[];
};
captureUpdate: "EVENTUALLY";
};
PanelComponent: ({ updateData, appState }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
keyTest: (event: KeyboardEvent | import("react").KeyboardEvent) => boolean;
} & {
keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent) => boolean) | undefined;
};
export declare const actionZoomOut: {
name: "zoomOut";
label: string;
icon: import("react/jsx-runtime").JSX.Element;
viewMode: true;
trackEvent: {
category: "canvas";
};
perform: (_elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly, _: any, app: import("../types").AppClassProperties) => {
appState: {
userToFollow: null;
scrollX: number;
scrollY: number;
zoom: {
value: import("../types").NormalizedZoomValue;
};
contextMenu: {
items: import("../components/ContextMenu").ContextMenuItems;
top: number;
left: number;
} | null;
showWelcomeScreen: boolean;
isLoading: boolean;
errorMessage: import("react").ReactNode;
activeEmbeddable: {
element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
state: "hover" | "active";
} | null;
newElement: import("@excalidraw/element/types").NonDeleted | null;
resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
multiElement: import("@excalidraw/element/types").NonDeleted | null;
selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
isBindingEnabled: boolean;
startBoundElement: import("@excalidraw/element/types").NonDeleted | null;
suggestedBindings: import("../../element/src/binding").SuggestedBinding[];
frameToHighlight: import("@excalidraw/element/types").NonDeleted | null;
frameRendering: {
enabled: boolean;
name: boolean;
outline: boolean;
clip: boolean;
};
editingFrame: string | null;
elementsToHighlight: import("@excalidraw/element/types").NonDeleted[] | null;
editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
editingLinearElement: import("../../element/src/linearElementEditor").LinearElementEditor | null;
activeTool: {
lastActiveTool: import("../types").ActiveTool | null;
locked: boolean;
fromSelection: boolean;
} & import("../types").ActiveTool;
penMode: boolean;
penDetected: boolean;
exportBackground: boolean;
exportEmbedScene: boolean;
exportWithDarkMode: boolean;
exportScale: number;
currentItemStrokeColor: string;
currentItemBackgroundColor: string;
currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
currentItemStrokeWidth: number;
currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
currentItemRoughness: number;
currentItemOpacity: number;
currentItemFontFamily: number;
currentItemFontSize: number;
currentItemTextAlign: string;
currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
currentHoveredFontFamily: number | null;
currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
currentItemArrowType: "round" | "sharp" | "elbow";
viewBackgroundColor: string;
cursorButton: "up" | "down";
scrolledOutside: boolean;
name: string | null;
isResizing: boolean;
isRotating: boolean;
openMenu: "canvas" | "shape" | null;
openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
openSidebar: {
name: string;
tab?: string | undefined;
} | null;
openDialog: {
name: "imageExport" | "help" | "jsonExport";
} | {
name: "ttd";
tab: "text-to-diagram" | "mermaid";
} | {
name: "commandPalette";
} | {
name: "elementLinkSelector";
sourceElementId: string;
} | null;
defaultSidebarDockedPreference: boolean;
lastPointerDownWith: import("@excalidraw/element/types").PointerType;
selectedElementIds: Readonly<{
[id: string]: true;
}>;
hoveredElementIds: Readonly<{
[id: string]: true;
}>;
previousSelectedElementIds: {
[id: string]: true;
};
selectedElementsAreBeingDragged: boolean;
shouldCacheIgnoreZoom: boolean;
toast: {
message: string;
closable?: boolean | undefined;
duration?: number | undefined;
} | null;
zenModeEnabled: boolean;
theme: import("@excalidraw/element/types").Theme;
gridSize: number;
gridStep: number;
gridModeEnabled: boolean;
viewModeEnabled: boolean;
selectedGroupIds: {
[groupId: string]: boolean;
};
editingGroupId: string | null;
width: number;
height: number;
offsetTop: number;
offsetLeft: number;
fileHandle: import("browser-fs-access").FileSystemHandle | null;
collaborators: Map | undefined;
username?: string | null | undefined;
userState?: import("@excalidraw/common").UserIdleState | undefined;
color?: {
background: string;
stroke: string;
} | undefined;
avatarUrl?: string | undefined;
id?: string | undefined;
socketId?: import("../types").SocketId | undefined;
isCurrentUser?: boolean | undefined;
isInCall?: boolean | undefined;
isSpeaking?: boolean | undefined;
isMuted?: boolean | undefined;
}>>;
stats: {
open: boolean;
panels: number;
};
currentChartType: import("@excalidraw/element/types").ChartType;
pasteDialog: {
shown: false;
data: null;
} | {
shown: true;
data: import("../charts").Spreadsheet;
};
pendingImageElementId: string | null;
showHyperlinkPopup: false | "editor" | "info";
selectedLinearElement: import("../../element/src/linearElementEditor").LinearElementEditor | null;
snapLines: readonly import("../snapping").SnapLine[];
originSnapOffset: {
x: number;
y: number;
} | null;
objectsSnapModeEnabled: boolean;
followedBy: Set;
isCropping: boolean;
croppingElementId: string | null;
searchMatches: readonly {
id: string;
focus: boolean;
matchedLines: {
offsetX: number;
offsetY: number;
width: number;
height: number;
}[];
}[];
};
captureUpdate: "EVENTUALLY";
};
PanelComponent: ({ updateData, appState }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
keyTest: (event: KeyboardEvent | import("react").KeyboardEvent) => boolean;
} & {
keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent) => boolean) | undefined;
};
export declare const actionResetZoom: {
name: "resetZoom";
label: string;
icon: import("react/jsx-runtime").JSX.Element;
viewMode: true;
trackEvent: {
category: "canvas";
};
perform: (_elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly, _: any, app: import("../types").AppClassProperties) => {
appState: {
userToFollow: null;
scrollX: number;
scrollY: number;
zoom: {
value: import("../types").NormalizedZoomValue;
};
contextMenu: {
items: import("../components/ContextMenu").ContextMenuItems;
top: number;
left: number;
} | null;
showWelcomeScreen: boolean;
isLoading: boolean;
errorMessage: import("react").ReactNode;
activeEmbeddable: {
element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
state: "hover" | "active";
} | null;
newElement: import("@excalidraw/element/types").NonDeleted | null;
resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
multiElement: import("@excalidraw/element/types").NonDeleted | null;
selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
isBindingEnabled: boolean;
startBoundElement: import("@excalidraw/element/types").NonDeleted | null;
suggestedBindings: import("../../element/src/binding").SuggestedBinding[];
frameToHighlight: import("@excalidraw/element/types").NonDeleted | null;
frameRendering: {
enabled: boolean;
name: boolean;
outline: boolean;
clip: boolean;
};
editingFrame: string | null;
elementsToHighlight: import("@excalidraw/element/types").NonDeleted[] | null;
editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
editingLinearElement: import("../../element/src/linearElementEditor").LinearElementEditor | null;
activeTool: {
lastActiveTool: import("../types").ActiveTool | null;
locked: boolean;
fromSelection: boolean;
} & import("../types").ActiveTool;
penMode: boolean;
penDetected: boolean;
exportBackground: boolean;
exportEmbedScene: boolean;
exportWithDarkMode: boolean;
exportScale: number;
currentItemStrokeColor: string;
currentItemBackgroundColor: string;
currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
currentItemStrokeWidth: number;
currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
currentItemRoughness: number;
currentItemOpacity: number;
currentItemFontFamily: number;
currentItemFontSize: number;
currentItemTextAlign: string;
currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
currentHoveredFontFamily: number | null;
currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
currentItemArrowType: "round" | "sharp" | "elbow";
viewBackgroundColor: string;
cursorButton: "up" | "down";
scrolledOutside: boolean;
name: string | null;
isResizing: boolean;
isRotating: boolean;
openMenu: "canvas" | "shape" | null;
openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
openSidebar: {
name: string;
tab?: string | undefined;
} | null;
openDialog: {
name: "imageExport" | "help" | "jsonExport";
} | {
name: "ttd";
tab: "text-to-diagram" | "mermaid";
} | {
name: "commandPalette";
} | {
name: "elementLinkSelector";
sourceElementId: string;
} | null;
defaultSidebarDockedPreference: boolean;
lastPointerDownWith: import("@excalidraw/element/types").PointerType;
selectedElementIds: Readonly<{
[id: string]: true;
}>;
hoveredElementIds: Readonly<{
[id: string]: true;
}>;
previousSelectedElementIds: {
[id: string]: true;
};
selectedElementsAreBeingDragged: boolean;
shouldCacheIgnoreZoom: boolean;
toast: {
message: string;
closable?: boolean | undefined;
duration?: number | undefined;
} | null;
zenModeEnabled: boolean;
theme: import("@excalidraw/element/types").Theme;
gridSize: number;
gridStep: number;
gridModeEnabled: boolean;
viewModeEnabled: boolean;
selectedGroupIds: {
[groupId: string]: boolean;
};
editingGroupId: string | null;
width: number;
height: number;
offsetTop: number;
offsetLeft: number;
fileHandle: import("browser-fs-access").FileSystemHandle | null;
collaborators: Map | undefined;
username?: string | null | undefined;
userState?: import("@excalidraw/common").UserIdleState | undefined;
color?: {
background: string;
stroke: string;
} | undefined;
avatarUrl?: string | undefined;
id?: string | undefined;
socketId?: import("../types").SocketId | undefined;
isCurrentUser?: boolean | undefined;
isInCall?: boolean | undefined;
isSpeaking?: boolean | undefined;
isMuted?: boolean | undefined;
}>>;
stats: {
open: boolean;
panels: number;
};
currentChartType: import("@excalidraw/element/types").ChartType;
pasteDialog: {
shown: false;
data: null;
} | {
shown: true;
data: import("../charts").Spreadsheet;
};
pendingImageElementId: string | null;
showHyperlinkPopup: false | "editor" | "info";
selectedLinearElement: import("../../element/src/linearElementEditor").LinearElementEditor | null;
snapLines: readonly import("../snapping").SnapLine[];
originSnapOffset: {
x: number;
y: number;
} | null;
objectsSnapModeEnabled: boolean;
followedBy: Set;
isCropping: boolean;
croppingElementId: string | null;
searchMatches: readonly {
id: string;
focus: boolean;
matchedLines: {
offsetX: number;
offsetY: number;
width: number;
height: number;
}[];
}[];
};
captureUpdate: "EVENTUALLY";
};
PanelComponent: ({ updateData, appState }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
keyTest: (event: KeyboardEvent | import("react").KeyboardEvent) => boolean;
} & {
keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent) => boolean) | undefined;
};
export declare const zoomToFitBounds: ({ bounds, appState, canvasOffsets, fitToViewport, viewportZoomFactor, minZoom, maxZoom, }: {
bounds: SceneBounds;
canvasOffsets?: Partial<{
top: number;
right: number;
bottom: number;
left: number;
}> | undefined;
appState: Readonly;
/** whether to fit content to viewport (beyond >100%) */
fitToViewport: boolean;
/** zoom content to cover X of the viewport, when fitToViewport=true */
viewportZoomFactor?: number | undefined;
minZoom?: number | undefined;
maxZoom?: number | undefined;
}) => {
appState: {
scrollX: number;
scrollY: number;
zoom: {
value: import("../types").NormalizedZoomValue;
};
contextMenu: {
items: import("../components/ContextMenu").ContextMenuItems;
top: number;
left: number;
} | null;
showWelcomeScreen: boolean;
isLoading: boolean;
errorMessage: import("react").ReactNode;
activeEmbeddable: {
element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
state: "hover" | "active";
} | null;
newElement: import("@excalidraw/element/types").NonDeleted | null;
resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
multiElement: import("@excalidraw/element/types").NonDeleted | null;
selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
isBindingEnabled: boolean;
startBoundElement: import("@excalidraw/element/types").NonDeleted | null;
suggestedBindings: import("../../element/src/binding").SuggestedBinding[];
frameToHighlight: import("@excalidraw/element/types").NonDeleted | null;
frameRendering: {
enabled: boolean;
name: boolean;
outline: boolean;
clip: boolean;
};
editingFrame: string | null;
elementsToHighlight: import("@excalidraw/element/types").NonDeleted[] | null;
editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
editingLinearElement: import("../../element/src/linearElementEditor").LinearElementEditor | null;
activeTool: {
lastActiveTool: import("../types").ActiveTool | null;
locked: boolean;
fromSelection: boolean;
} & import("../types").ActiveTool;
penMode: boolean;
penDetected: boolean;
exportBackground: boolean;
exportEmbedScene: boolean;
exportWithDarkMode: boolean;
exportScale: number;
currentItemStrokeColor: string;
currentItemBackgroundColor: string;
currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
currentItemStrokeWidth: number;
currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
currentItemRoughness: number;
currentItemOpacity: number;
currentItemFontFamily: number;
currentItemFontSize: number;
currentItemTextAlign: string;
currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
currentHoveredFontFamily: number | null;
currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
currentItemArrowType: "round" | "sharp" | "elbow";
viewBackgroundColor: string;
cursorButton: "up" | "down";
scrolledOutside: boolean;
name: string | null;
isResizing: boolean;
isRotating: boolean;
openMenu: "canvas" | "shape" | null;
openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
openSidebar: {
name: string;
tab?: string | undefined;
} | null;
openDialog: {
name: "imageExport" | "help" | "jsonExport";
} | {
name: "ttd";
tab: "text-to-diagram" | "mermaid";
} | {
name: "commandPalette";
} | {
name: "elementLinkSelector";
sourceElementId: string;
} | null;
defaultSidebarDockedPreference: boolean;
lastPointerDownWith: import("@excalidraw/element/types").PointerType;
selectedElementIds: Readonly<{
[id: string]: true;
}>;
hoveredElementIds: Readonly<{
[id: string]: true;
}>;
previousSelectedElementIds: {
[id: string]: true;
};
selectedElementsAreBeingDragged: boolean;
shouldCacheIgnoreZoom: boolean;
toast: {
message: string;
closable?: boolean | undefined;
duration?: number | undefined;
} | null;
zenModeEnabled: boolean;
theme: import("@excalidraw/element/types").Theme;
gridSize: number;
gridStep: number;
gridModeEnabled: boolean;
viewModeEnabled: boolean;
selectedGroupIds: {
[groupId: string]: boolean;
};
editingGroupId: string | null;
width: number;
height: number;
offsetTop: number;
offsetLeft: number;
fileHandle: import("browser-fs-access").FileSystemHandle | null;
collaborators: Map | undefined;
username?: string | null | undefined;
userState?: import("@excalidraw/common").UserIdleState | undefined;
color?: {
background: string;
stroke: string;
} | undefined;
avatarUrl?: string | undefined;
id?: string | undefined;
socketId?: import("../types").SocketId | undefined;
isCurrentUser?: boolean | undefined;
isInCall?: boolean | undefined;
isSpeaking?: boolean | undefined;
isMuted?: boolean | undefined;
}>>;
stats: {
open: boolean;
panels: number;
};
currentChartType: import("@excalidraw/element/types").ChartType;
pasteDialog: {
shown: false;
data: null;
} | {
shown: true;
data: import("../charts").Spreadsheet;
};
pendingImageElementId: string | null;
showHyperlinkPopup: false | "editor" | "info";
selectedLinearElement: import("../../element/src/linearElementEditor").LinearElementEditor | null;
snapLines: readonly import("../snapping").SnapLine[];
originSnapOffset: {
x: number;
y: number;
} | null;
objectsSnapModeEnabled: boolean;
userToFollow: import("../types").UserToFollow | null;
followedBy: Set;
isCropping: boolean;
croppingElementId: string | null;
searchMatches: readonly {
id: string;
focus: boolean;
matchedLines: {
offsetX: number;
offsetY: number;
width: number;
height: number;
}[];
}[];
};
captureUpdate: "EVENTUALLY";
};
export declare const zoomToFit: ({ canvasOffsets, targetElements, appState, fitToViewport, viewportZoomFactor, minZoom, maxZoom, }: {
canvasOffsets?: Partial<{
top: number;
right: number;
bottom: number;
left: number;
}> | undefined;
targetElements: readonly ExcalidrawElement[];
appState: Readonly;
/** whether to fit content to viewport (beyond >100%) */
fitToViewport: boolean;
/** zoom content to cover X of the viewport, when fitToViewport=true */
viewportZoomFactor?: number | undefined;
minZoom?: number | undefined;
maxZoom?: number | undefined;
}) => {
appState: {
scrollX: number;
scrollY: number;
zoom: {
value: import("../types").NormalizedZoomValue;
};
contextMenu: {
items: import("../components/ContextMenu").ContextMenuItems;
top: number;
left: number;
} | null;
showWelcomeScreen: boolean;
isLoading: boolean;
errorMessage: import("react").ReactNode;
activeEmbeddable: {
element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
state: "hover" | "active";
} | null;
newElement: import("@excalidraw/element/types").NonDeleted | null;
resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
multiElement: import("@excalidraw/element/types").NonDeleted | null;
selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
isBindingEnabled: boolean;
startBoundElement: import("@excalidraw/element/types").NonDeleted | null;
suggestedBindings: import("../../element/src/binding").SuggestedBinding[];
frameToHighlight: import("@excalidraw/element/types").NonDeleted | null;
frameRendering: {
enabled: boolean;
name: boolean;
outline: boolean;
clip: boolean;
};
editingFrame: string | null;
elementsToHighlight: import("@excalidraw/element/types").NonDeleted[] | null;
editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
editingLinearElement: import("../../element/src/linearElementEditor").LinearElementEditor | null;
activeTool: {
lastActiveTool: import("../types").ActiveTool | null;
locked: boolean;
fromSelection: boolean;
} & import("../types").ActiveTool;
penMode: boolean;
penDetected: boolean;
exportBackground: boolean;
exportEmbedScene: boolean;
exportWithDarkMode: boolean;
exportScale: number;
currentItemStrokeColor: string;
currentItemBackgroundColor: string;
currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
currentItemStrokeWidth: number;
currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
currentItemRoughness: number;
currentItemOpacity: number;
currentItemFontFamily: number;
currentItemFontSize: number;
currentItemTextAlign: string;
currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
currentHoveredFontFamily: number | null;
currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
currentItemArrowType: "round" | "sharp" | "elbow";
viewBackgroundColor: string;
cursorButton: "up" | "down";
scrolledOutside: boolean;
name: string | null;
isResizing: boolean;
isRotating: boolean;
openMenu: "canvas" | "shape" | null;
openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
openSidebar: {
name: string;
tab?: string | undefined;
} | null;
openDialog: {
name: "imageExport" | "help" | "jsonExport";
} | {
name: "ttd";
tab: "text-to-diagram" | "mermaid";
} | {
name: "commandPalette";
} | {
name: "elementLinkSelector";
sourceElementId: string;
} | null;
defaultSidebarDockedPreference: boolean;
lastPointerDownWith: import("@excalidraw/element/types").PointerType;
selectedElementIds: Readonly<{
[id: string]: true;
}>;
hoveredElementIds: Readonly<{
[id: string]: true;
}>;
previousSelectedElementIds: {
[id: string]: true;
};
selectedElementsAreBeingDragged: boolean;
shouldCacheIgnoreZoom: boolean;
toast: {
message: string;
closable?: boolean | undefined;
duration?: number | undefined;
} | null;
zenModeEnabled: boolean;
theme: import("@excalidraw/element/types").Theme;
gridSize: number;
gridStep: number;
gridModeEnabled: boolean;
viewModeEnabled: boolean;
selectedGroupIds: {
[groupId: string]: boolean;
};
editingGroupId: string | null;
width: number;
height: number;
offsetTop: number;
offsetLeft: number;
fileHandle: import("browser-fs-access").FileSystemHandle | null;
collaborators: Map | undefined;
username?: string | null | undefined;
userState?: import("@excalidraw/common").UserIdleState | undefined;
color?: {
background: string;
stroke: string;
} | undefined;
avatarUrl?: string | undefined;
id?: string | undefined;
socketId?: import("../types").SocketId | undefined;
isCurrentUser?: boolean | undefined;
isInCall?: boolean | undefined;
isSpeaking?: boolean | undefined;
isMuted?: boolean | undefined;
}>>;
stats: {
open: boolean;
panels: number;
};
currentChartType: import("@excalidraw/element/types").ChartType;
pasteDialog: {
shown: false;
data: null;
} | {
shown: true;
data: import("../charts").Spreadsheet;
};
pendingImageElementId: string | null;
showHyperlinkPopup: false | "editor" | "info";
selectedLinearElement: import("../../element/src/linearElementEditor").LinearElementEditor | null;
snapLines: readonly import("../snapping").SnapLine[];
originSnapOffset: {
x: number;
y: number;
} | null;
objectsSnapModeEnabled: boolean;
userToFollow: import("../types").UserToFollow | null;
followedBy: Set;
isCropping: boolean;
croppingElementId: string | null;
searchMatches: readonly {
id: string;
focus: boolean;
matchedLines: {
offsetX: number;
offsetY: number;
width: number;
height: number;
}[];
}[];
};
captureUpdate: "EVENTUALLY";
};
export declare const actionZoomToFitSelectionInViewport: {
name: "zoomToFitSelectionInViewport";
label: string;
icon: import("react/jsx-runtime").JSX.Element;
trackEvent: {
category: "canvas";
};
perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly, _: any, app: import("../types").AppClassProperties) => {
appState: {
scrollX: number;
scrollY: number;
zoom: {
value: import("../types").NormalizedZoomValue;
};
contextMenu: {
items: import("../components/ContextMenu").ContextMenuItems;
top: number;
left: number;
} | null;
showWelcomeScreen: boolean;
isLoading: boolean;
errorMessage: import("react").ReactNode;
activeEmbeddable: {
element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
state: "hover" | "active";
} | null;
newElement: import("@excalidraw/element/types").NonDeleted | null;
resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
multiElement: import("@excalidraw/element/types").NonDeleted | null;
selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
isBindingEnabled: boolean;
startBoundElement: import("@excalidraw/element/types").NonDeleted | null;
suggestedBindings: import("../../element/src/binding").SuggestedBinding[];
frameToHighlight: import("@excalidraw/element/types").NonDeleted | null;
frameRendering: {
enabled: boolean;
name: boolean;
outline: boolean;
clip: boolean;
};
editingFrame: string | null;
elementsToHighlight: import("@excalidraw/element/types").NonDeleted[] | null;
editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
editingLinearElement: import("../../element/src/linearElementEditor").LinearElementEditor | null;
activeTool: {
lastActiveTool: import("../types").ActiveTool | null;
locked: boolean;
fromSelection: boolean;
} & import("../types").ActiveTool;
penMode: boolean;
penDetected: boolean;
exportBackground: boolean;
exportEmbedScene: boolean;
exportWithDarkMode: boolean;
exportScale: number;
currentItemStrokeColor: string;
currentItemBackgroundColor: string;
currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
currentItemStrokeWidth: number;
currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
currentItemRoughness: number;
currentItemOpacity: number;
currentItemFontFamily: number;
currentItemFontSize: number;
currentItemTextAlign: string;
currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
currentHoveredFontFamily: number | null;
currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
currentItemArrowType: "round" | "sharp" | "elbow";
viewBackgroundColor: string;
cursorButton: "up" | "down";
scrolledOutside: boolean;
name: string | null;
isResizing: boolean;
isRotating: boolean;
openMenu: "canvas" | "shape" | null;
openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
openSidebar: {
name: string;
tab?: string | undefined;
} | null;
openDialog: {
name: "imageExport" | "help" | "jsonExport";
} | {
name: "ttd";
tab: "text-to-diagram" | "mermaid";
} | {
name: "commandPalette";
} | {
name: "elementLinkSelector";
sourceElementId: string;
} | null;
defaultSidebarDockedPreference: boolean;
lastPointerDownWith: import("@excalidraw/element/types").PointerType;
selectedElementIds: Readonly<{
[id: string]: true;
}>;
hoveredElementIds: Readonly<{
[id: string]: true;
}>;
previousSelectedElementIds: {
[id: string]: true;
};
selectedElementsAreBeingDragged: boolean;
shouldCacheIgnoreZoom: boolean;
toast: {
message: string;
closable?: boolean | undefined;
duration?: number | undefined;
} | null;
zenModeEnabled: boolean;
theme: import("@excalidraw/element/types").Theme;
gridSize: number;
gridStep: number;
gridModeEnabled: boolean;
viewModeEnabled: boolean;
selectedGroupIds: {
[groupId: string]: boolean;
};
editingGroupId: string | null;
width: number;
height: number;
offsetTop: number;
offsetLeft: number;
fileHandle: import("browser-fs-access").FileSystemHandle | null;
collaborators: Map | undefined;
username?: string | null | undefined;
userState?: import("@excalidraw/common").UserIdleState | undefined;
color?: {
background: string;
stroke: string;
} | undefined;
avatarUrl?: string | undefined;
id?: string | undefined;
socketId?: import("../types").SocketId | undefined;
isCurrentUser?: boolean | undefined;
isInCall?: boolean | undefined;
isSpeaking?: boolean | undefined;
isMuted?: boolean | undefined;
}>>;
stats: {
open: boolean;
panels: number;
};
currentChartType: import("@excalidraw/element/types").ChartType;
pasteDialog: {
shown: false;
data: null;
} | {
shown: true;
data: import("../charts").Spreadsheet;
};
pendingImageElementId: string | null;
showHyperlinkPopup: false | "editor" | "info";
selectedLinearElement: import("../../element/src/linearElementEditor").LinearElementEditor | null;
snapLines: readonly import("../snapping").SnapLine[];
originSnapOffset: {
x: number;
y: number;
} | null;
objectsSnapModeEnabled: boolean;
userToFollow: import("../types").UserToFollow | null;
followedBy: Set;
isCropping: boolean;
croppingElementId: string | null;
searchMatches: readonly {
id: string;
focus: boolean;
matchedLines: {
offsetX: number;
offsetY: number;
width: number;
height: number;
}[];
}[];
};
captureUpdate: "EVENTUALLY";
};
keyTest: (event: KeyboardEvent | import("react").KeyboardEvent) => boolean;
} & {
keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent) => boolean) | undefined;
};
export declare const actionZoomToFitSelection: {
name: "zoomToFitSelection";
label: string;
icon: import("react/jsx-runtime").JSX.Element;
trackEvent: {
category: "canvas";
};
perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly, _: any, app: import("../types").AppClassProperties) => {
appState: {
scrollX: number;
scrollY: number;
zoom: {
value: import("../types").NormalizedZoomValue;
};
contextMenu: {
items: import("../components/ContextMenu").ContextMenuItems;
top: number;
left: number;
} | null;
showWelcomeScreen: boolean;
isLoading: boolean;
errorMessage: import("react").ReactNode;
activeEmbeddable: {
element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
state: "hover" | "active";
} | null;
newElement: import("@excalidraw/element/types").NonDeleted | null;
resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
multiElement: import("@excalidraw/element/types").NonDeleted | null;
selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
isBindingEnabled: boolean;
startBoundElement: import("@excalidraw/element/types").NonDeleted | null;
suggestedBindings: import("../../element/src/binding").SuggestedBinding[];
frameToHighlight: import("@excalidraw/element/types").NonDeleted | null;
frameRendering: {
enabled: boolean;
name: boolean;
outline: boolean;
clip: boolean;
};
editingFrame: string | null;
elementsToHighlight: import("@excalidraw/element/types").NonDeleted[] | null;
editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
editingLinearElement: import("../../element/src/linearElementEditor").LinearElementEditor | null;
activeTool: {
lastActiveTool: import("../types").ActiveTool | null;
locked: boolean;
fromSelection: boolean;
} & import("../types").ActiveTool;
penMode: boolean;
penDetected: boolean;
exportBackground: boolean;
exportEmbedScene: boolean;
exportWithDarkMode: boolean;
exportScale: number;
currentItemStrokeColor: string;
currentItemBackgroundColor: string;
currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
currentItemStrokeWidth: number;
currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
currentItemRoughness: number;
currentItemOpacity: number;
currentItemFontFamily: number;
currentItemFontSize: number;
currentItemTextAlign: string;
currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
currentHoveredFontFamily: number | null;
currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
currentItemArrowType: "round" | "sharp" | "elbow";
viewBackgroundColor: string;
cursorButton: "up" | "down";
scrolledOutside: boolean;
name: string | null;
isResizing: boolean;
isRotating: boolean;
openMenu: "canvas" | "shape" | null;
openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
openSidebar: {
name: string;
tab?: string | undefined;
} | null;
openDialog: {
name: "imageExport" | "help" | "jsonExport";
} | {
name: "ttd";
tab: "text-to-diagram" | "mermaid";
} | {
name: "commandPalette";
} | {
name: "elementLinkSelector";
sourceElementId: string;
} | null;
defaultSidebarDockedPreference: boolean;
lastPointerDownWith: import("@excalidraw/element/types").PointerType;
selectedElementIds: Readonly<{
[id: string]: true;
}>;
hoveredElementIds: Readonly<{
[id: string]: true;
}>;
previousSelectedElementIds: {
[id: string]: true;
};
selectedElementsAreBeingDragged: boolean;
shouldCacheIgnoreZoom: boolean;
toast: {
message: string;
closable?: boolean | undefined;
duration?: number | undefined;
} | null;
zenModeEnabled: boolean;
theme: import("@excalidraw/element/types").Theme;
gridSize: number;
gridStep: number;
gridModeEnabled: boolean;
viewModeEnabled: boolean;
selectedGroupIds: {
[groupId: string]: boolean;
};
editingGroupId: string | null;
width: number;
height: number;
offsetTop: number;
offsetLeft: number;
fileHandle: import("browser-fs-access").FileSystemHandle | null;
collaborators: Map | undefined;
username?: string | null | undefined;
userState?: import("@excalidraw/common").UserIdleState | undefined;
color?: {
background: string;
stroke: string;
} | undefined;
avatarUrl?: string | undefined;
id?: string | undefined;
socketId?: import("../types").SocketId | undefined;
isCurrentUser?: boolean | undefined;
isInCall?: boolean | undefined;
isSpeaking?: boolean | undefined;
isMuted?: boolean | undefined;
}>>;
stats: {
open: boolean;
panels: number;
};
currentChartType: import("@excalidraw/element/types").ChartType;
pasteDialog: {
shown: false;
data: null;
} | {
shown: true;
data: import("../charts").Spreadsheet;
};
pendingImageElementId: string | null;
showHyperlinkPopup: false | "editor" | "info";
selectedLinearElement: import("../../element/src/linearElementEditor").LinearElementEditor | null;
snapLines: readonly import("../snapping").SnapLine[];
originSnapOffset: {
x: number;
y: number;
} | null;
objectsSnapModeEnabled: boolean;
userToFollow: import("../types").UserToFollow | null;
followedBy: Set;
isCropping: boolean;
croppingElementId: string | null;
searchMatches: readonly {
id: string;
focus: boolean;
matchedLines: {
offsetX: number;
offsetY: number;
width: number;
height: number;
}[];
}[];
};
captureUpdate: "EVENTUALLY";
};
keyTest: (event: KeyboardEvent | import("react").KeyboardEvent) => boolean;
} & {
keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent) => boolean) | undefined;
};
export declare const actionZoomToFit: {
name: "zoomToFit";
label: string;
icon: import("react/jsx-runtime").JSX.Element;
viewMode: true;
trackEvent: {
category: "canvas";
};
perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly, _: any, app: import("../types").AppClassProperties) => {
appState: {
scrollX: number;
scrollY: number;
zoom: {
value: import("../types").NormalizedZoomValue;
};
contextMenu: {
items: import("../components/ContextMenu").ContextMenuItems;
top: number;
left: number;
} | null;
showWelcomeScreen: boolean;
isLoading: boolean;
errorMessage: import("react").ReactNode;
activeEmbeddable: {
element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
state: "hover" | "active";
} | null;
newElement: import("@excalidraw/element/types").NonDeleted | null;
resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
multiElement: import("@excalidraw/element/types").NonDeleted | null;
selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
isBindingEnabled: boolean;
startBoundElement: import("@excalidraw/element/types").NonDeleted | null;
suggestedBindings: import("../../element/src/binding").SuggestedBinding[];
frameToHighlight: import("@excalidraw/element/types").NonDeleted | null;
frameRendering: {
enabled: boolean;
name: boolean;
outline: boolean;
clip: boolean;
};
editingFrame: string | null;
elementsToHighlight: import("@excalidraw/element/types").NonDeleted[] | null;
editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
editingLinearElement: import("../../element/src/linearElementEditor").LinearElementEditor | null;
activeTool: {
lastActiveTool: import("../types").ActiveTool | null;
locked: boolean;
fromSelection: boolean;
} & import("../types").ActiveTool;
penMode: boolean;
penDetected: boolean;
exportBackground: boolean;
exportEmbedScene: boolean;
exportWithDarkMode: boolean;
exportScale: number;
currentItemStrokeColor: string;
currentItemBackgroundColor: string;
currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
currentItemStrokeWidth: number;
currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
currentItemRoughness: number;
currentItemOpacity: number;
currentItemFontFamily: number;
currentItemFontSize: number;
currentItemTextAlign: string;
currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
currentHoveredFontFamily: number | null;
currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
currentItemArrowType: "round" | "sharp" | "elbow";
viewBackgroundColor: string;
cursorButton: "up" | "down";
scrolledOutside: boolean;
name: string | null;
isResizing: boolean;
isRotating: boolean;
openMenu: "canvas" | "shape" | null;
openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
openSidebar: {
name: string;
tab?: string | undefined;
} | null;
openDialog: {
name: "imageExport" | "help" | "jsonExport";
} | {
name: "ttd";
tab: "text-to-diagram" | "mermaid";
} | {
name: "commandPalette";
} | {
name: "elementLinkSelector";
sourceElementId: string;
} | null;
defaultSidebarDockedPreference: boolean;
lastPointerDownWith: import("@excalidraw/element/types").PointerType;
selectedElementIds: Readonly<{
[id: string]: true;
}>;
hoveredElementIds: Readonly<{
[id: string]: true;
}>;
previousSelectedElementIds: {
[id: string]: true;
};
selectedElementsAreBeingDragged: boolean;
shouldCacheIgnoreZoom: boolean;
toast: {
message: string;
closable?: boolean | undefined;
duration?: number | undefined;
} | null;
zenModeEnabled: boolean;
theme: import("@excalidraw/element/types").Theme;
gridSize: number;
gridStep: number;
gridModeEnabled: boolean;
viewModeEnabled: boolean;
selectedGroupIds: {
[groupId: string]: boolean;
};
editingGroupId: string | null;
width: number;
height: number;
offsetTop: number;
offsetLeft: number;
fileHandle: import("browser-fs-access").FileSystemHandle | null;
collaborators: Map | undefined;
username?: string | null | undefined;
userState?: import("@excalidraw/common").UserIdleState | undefined;
color?: {
background: string;
stroke: string;
} | undefined;
avatarUrl?: string | undefined;
id?: string | undefined;
socketId?: import("../types").SocketId | undefined;
isCurrentUser?: boolean | undefined;
isInCall?: boolean | undefined;
isSpeaking?: boolean | undefined;
isMuted?: boolean | undefined;
}>>;
stats: {
open: boolean;
panels: number;
};
currentChartType: import("@excalidraw/element/types").ChartType;
pasteDialog: {
shown: false;
data: null;
} | {
shown: true;
data: import("../charts").Spreadsheet;
};
pendingImageElementId: string | null;
showHyperlinkPopup: false | "editor" | "info";
selectedLinearElement: import("../../element/src/linearElementEditor").LinearElementEditor | null;
snapLines: readonly import("../snapping").SnapLine[];
originSnapOffset: {
x: number;
y: number;
} | null;
objectsSnapModeEnabled: boolean;
userToFollow: import("../types").UserToFollow | null;
followedBy: Set;
isCropping: boolean;
croppingElementId: string | null;
searchMatches: readonly {
id: string;
focus: boolean;
matchedLines: {
offsetX: number;
offsetY: number;
width: number;
height: number;
}[];
}[];
};
captureUpdate: "EVENTUALLY";
};
keyTest: (event: KeyboardEvent | import("react").KeyboardEvent) => boolean;
} & {
keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent) => boolean) | undefined;
};
export declare const actionToggleTheme: {
name: "toggleTheme";
label: (_: readonly ExcalidrawElement[], appState: Readonly) => "buttons.lightMode" | "buttons.darkMode";
keywords: string[];
icon: (appState: import("../types").UIAppState) => import("react/jsx-runtime").JSX.Element;
viewMode: true;
trackEvent: {
category: "canvas";
};
perform: (_: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly, value: any) => {
appState: {
theme: any;
contextMenu: {
items: import("../components/ContextMenu").ContextMenuItems;
top: number;
left: number;
} | null;
showWelcomeScreen: boolean;
isLoading: boolean;
errorMessage: import("react").ReactNode;
activeEmbeddable: {
element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
state: "hover" | "active";
} | null;
newElement: import("@excalidraw/element/types").NonDeleted | null;
resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
multiElement: import("@excalidraw/element/types").NonDeleted | null;
selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
isBindingEnabled: boolean;
startBoundElement: import("@excalidraw/element/types").NonDeleted | null;
suggestedBindings: import("../../element/src/binding").SuggestedBinding[];
frameToHighlight: import("@excalidraw/element/types").NonDeleted | null;
frameRendering: {
enabled: boolean;
name: boolean;
outline: boolean;
clip: boolean;
};
editingFrame: string | null;
elementsToHighlight: import("@excalidraw/element/types").NonDeleted[] | null;
editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
editingLinearElement: import("../../element/src/linearElementEditor").LinearElementEditor | null;
activeTool: {
lastActiveTool: import("../types").ActiveTool | null;
locked: boolean;
fromSelection: boolean;
} & import("../types").ActiveTool;
penMode: boolean;
penDetected: boolean;
exportBackground: boolean;
exportEmbedScene: boolean;
exportWithDarkMode: boolean;
exportScale: number;
currentItemStrokeColor: string;
currentItemBackgroundColor: string;
currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
currentItemStrokeWidth: number;
currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
currentItemRoughness: number;
currentItemOpacity: number;
currentItemFontFamily: number;
currentItemFontSize: number;
currentItemTextAlign: string;
currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
currentHoveredFontFamily: number | null;
currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
currentItemArrowType: "round" | "sharp" | "elbow";
viewBackgroundColor: string;
scrollX: number;
scrollY: number;
cursorButton: "up" | "down";
scrolledOutside: boolean;
name: string | null;
isResizing: boolean;
isRotating: boolean;
zoom: Readonly<{
value: import("../types").NormalizedZoomValue;
}>;
openMenu: "canvas" | "shape" | null;
openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
openSidebar: {
name: string;
tab?: string | undefined;
} | null;
openDialog: {
name: "imageExport" | "help" | "jsonExport";
} | {
name: "ttd";
tab: "text-to-diagram" | "mermaid";
} | {
name: "commandPalette";
} | {
name: "elementLinkSelector";
sourceElementId: string;
} | null;
defaultSidebarDockedPreference: boolean;
lastPointerDownWith: import("@excalidraw/element/types").PointerType;
selectedElementIds: Readonly<{
[id: string]: true;
}>;
hoveredElementIds: Readonly<{
[id: string]: true;
}>;
previousSelectedElementIds: {
[id: string]: true;
};
selectedElementsAreBeingDragged: boolean;
shouldCacheIgnoreZoom: boolean;
toast: {
message: string;
closable?: boolean | undefined;
duration?: number | undefined;
} | null;
zenModeEnabled: boolean;
gridSize: number;
gridStep: number;
gridModeEnabled: boolean;
viewModeEnabled: boolean;
selectedGroupIds: {
[groupId: string]: boolean;
};
editingGroupId: string | null;
width: number;
height: number;
offsetTop: number;
offsetLeft: number;
fileHandle: import("browser-fs-access").FileSystemHandle | null;
collaborators: Map | undefined;
username?: string | null | undefined;
userState?: import("@excalidraw/common").UserIdleState | undefined;
color?: {
background: string;
stroke: string;
} | undefined;
avatarUrl?: string | undefined;
id?: string | undefined;
socketId?: import("../types").SocketId | undefined;
isCurrentUser?: boolean | undefined;
isInCall?: boolean | undefined;
isSpeaking?: boolean | undefined;
isMuted?: boolean | undefined;
}>>;
stats: {
open: boolean;
panels: number;
};
currentChartType: import("@excalidraw/element/types").ChartType;
pasteDialog: {
shown: false;
data: null;
} | {
shown: true;
data: import("../charts").Spreadsheet;
};
pendingImageElementId: string | null;
showHyperlinkPopup: false | "editor" | "info";
selectedLinearElement: import("../../element/src/linearElementEditor").LinearElementEditor | null;
snapLines: readonly import("../snapping").SnapLine[];
originSnapOffset: {
x: number;
y: number;
} | null;
objectsSnapModeEnabled: boolean;
userToFollow: import("../types").UserToFollow | null;
followedBy: Set;
isCropping: boolean;
croppingElementId: string | null;
searchMatches: readonly {
id: string;
focus: boolean;
matchedLines: {
offsetX: number;
offsetY: number;
width: number;
height: number;
}[];
}[];
};
captureUpdate: "EVENTUALLY";
};
keyTest: (event: KeyboardEvent | import("react").KeyboardEvent) => boolean;
predicate: (elements: readonly ExcalidrawElement[], appState: AppState, props: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
} & {
keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent) => boolean) | undefined;
};
export declare const actionToggleEraserTool: {
name: "toggleEraserTool";
label: string;
trackEvent: {
category: "toolbar";
};
perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly) => {
appState: {
selectedElementIds: {};
selectedGroupIds: {};
activeEmbeddable: null;
activeTool: {
lastActiveTool: import("../types").ActiveTool | null;
locked: boolean;
fromSelection: boolean;
} & import("../types").ActiveTool;
contextMenu: {
items: import("../components/ContextMenu").ContextMenuItems;
top: number;
left: number;
} | null;
showWelcomeScreen: boolean;
isLoading: boolean;
errorMessage: import("react").ReactNode;
newElement: import("@excalidraw/element/types").NonDeleted | null;
resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
multiElement: import("@excalidraw/element/types").NonDeleted | null;
selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
isBindingEnabled: boolean;
startBoundElement: import("@excalidraw/element/types").NonDeleted | null;
suggestedBindings: import("../../element/src/binding").SuggestedBinding[];
frameToHighlight: import("@excalidraw/element/types").NonDeleted | null;
frameRendering: {
enabled: boolean;
name: boolean;
outline: boolean;
clip: boolean;
};
editingFrame: string | null;
elementsToHighlight: import("@excalidraw/element/types").NonDeleted[] | null;
editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
editingLinearElement: import("../../element/src/linearElementEditor").LinearElementEditor | null;
penMode: boolean;
penDetected: boolean;
exportBackground: boolean;
exportEmbedScene: boolean;
exportWithDarkMode: boolean;
exportScale: number;
currentItemStrokeColor: string;
currentItemBackgroundColor: string;
currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
currentItemStrokeWidth: number;
currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
currentItemRoughness: number;
currentItemOpacity: number;
currentItemFontFamily: number;
currentItemFontSize: number;
currentItemTextAlign: string;
currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
currentHoveredFontFamily: number | null;
currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
currentItemArrowType: "round" | "sharp" | "elbow";
viewBackgroundColor: string;
scrollX: number;
scrollY: number;
cursorButton: "up" | "down";
scrolledOutside: boolean;
name: string | null;
isResizing: boolean;
isRotating: boolean;
zoom: Readonly<{
value: import("../types").NormalizedZoomValue;
}>;
openMenu: "canvas" | "shape" | null;
openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
openSidebar: {
name: string;
tab?: string | undefined;
} | null;
openDialog: {
name: "imageExport" | "help" | "jsonExport";
} | {
name: "ttd";
tab: "text-to-diagram" | "mermaid";
} | {
name: "commandPalette";
} | {
name: "elementLinkSelector";
sourceElementId: string;
} | null;
defaultSidebarDockedPreference: boolean;
lastPointerDownWith: import("@excalidraw/element/types").PointerType;
hoveredElementIds: Readonly<{
[id: string]: true;
}>;
previousSelectedElementIds: {
[id: string]: true;
};
selectedElementsAreBeingDragged: boolean;
shouldCacheIgnoreZoom: boolean;
toast: {
message: string;
closable?: boolean | undefined;
duration?: number | undefined;
} | null;
zenModeEnabled: boolean;
theme: import("@excalidraw/element/types").Theme;
gridSize: number;
gridStep: number;
gridModeEnabled: boolean;
viewModeEnabled: boolean;
editingGroupId: string | null;
width: number;
height: number;
offsetTop: number;
offsetLeft: number;
fileHandle: import("browser-fs-access").FileSystemHandle | null;
collaborators: Map | undefined;
username?: string | null | undefined;
userState?: import("@excalidraw/common").UserIdleState | undefined;
color?: {
background: string;
stroke: string;
} | undefined;
avatarUrl?: string | undefined;
id?: string | undefined;
socketId?: import("../types").SocketId | undefined;
isCurrentUser?: boolean | undefined;
isInCall?: boolean | undefined;
isSpeaking?: boolean | undefined;
isMuted?: boolean | undefined;
}>>;
stats: {
open: boolean;
panels: number;
};
currentChartType: import("@excalidraw/element/types").ChartType;
pasteDialog: {
shown: false;
data: null;
} | {
shown: true;
data: import("../charts").Spreadsheet;
};
pendingImageElementId: string | null;
showHyperlinkPopup: false | "editor" | "info";
selectedLinearElement: import("../../element/src/linearElementEditor").LinearElementEditor | null;
snapLines: readonly import("../snapping").SnapLine[];
originSnapOffset: {
x: number;
y: number;
} | null;
objectsSnapModeEnabled: boolean;
userToFollow: import("../types").UserToFollow | null;
followedBy: Set;
isCropping: boolean;
croppingElementId: string | null;
searchMatches: readonly {
id: string;
focus: boolean;
matchedLines: {
offsetX: number;
offsetY: number;
width: number;
height: number;
}[];
}[];
};
captureUpdate: "IMMEDIATELY";
};
keyTest: (event: KeyboardEvent | import("react").KeyboardEvent) => boolean;
} & {
keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent) => boolean) | undefined;
};
export declare const actionToggleLassoTool: {
name: "toggleLassoTool";
label: string;
icon: import("react/jsx-runtime").JSX.Element;
trackEvent: {
category: "toolbar";
};
perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly, _: any, app: import("../types").AppClassProperties) => {
appState: {
selectedElementIds: {};
selectedGroupIds: {};
activeEmbeddable: null;
activeTool: {
lastActiveTool: import("../types").ActiveTool | null;
locked: boolean;
fromSelection: boolean;
} & import("../types").ActiveTool;
contextMenu: {
items: import("../components/ContextMenu").ContextMenuItems;
top: number;
left: number;
} | null;
showWelcomeScreen: boolean;
isLoading: boolean;
errorMessage: import("react").ReactNode;
newElement: import("@excalidraw/element/types").NonDeleted | null;
resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
multiElement: import("@excalidraw/element/types").NonDeleted | null;
selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
isBindingEnabled: boolean;
startBoundElement: import("@excalidraw/element/types").NonDeleted | null;
suggestedBindings: import("../../element/src/binding").SuggestedBinding[];
frameToHighlight: import("@excalidraw/element/types").NonDeleted | null;
frameRendering: {
enabled: boolean;
name: boolean;
outline: boolean;
clip: boolean;
};
editingFrame: string | null;
elementsToHighlight: import("@excalidraw/element/types").NonDeleted[] | null;
editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
editingLinearElement: import("../../element/src/linearElementEditor").LinearElementEditor | null;
penMode: boolean;
penDetected: boolean;
exportBackground: boolean;
exportEmbedScene: boolean;
exportWithDarkMode: boolean;
exportScale: number;
currentItemStrokeColor: string;
currentItemBackgroundColor: string;
currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
currentItemStrokeWidth: number;
currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
currentItemRoughness: number;
currentItemOpacity: number;
currentItemFontFamily: number;
currentItemFontSize: number;
currentItemTextAlign: string;
currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
currentHoveredFontFamily: number | null;
currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
currentItemArrowType: "round" | "sharp" | "elbow";
viewBackgroundColor: string;
scrollX: number;
scrollY: number;
cursorButton: "up" | "down";
scrolledOutside: boolean;
name: string | null;
isResizing: boolean;
isRotating: boolean;
zoom: Readonly<{
value: import("../types").NormalizedZoomValue;
}>;
openMenu: "canvas" | "shape" | null;
openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
openSidebar: {
name: string;
tab?: string | undefined;
} | null;
openDialog: {
name: "imageExport" | "help" | "jsonExport";
} | {
name: "ttd";
tab: "text-to-diagram" | "mermaid";
} | {
name: "commandPalette";
} | {
name: "elementLinkSelector";
sourceElementId: string;
} | null;
defaultSidebarDockedPreference: boolean;
lastPointerDownWith: import("@excalidraw/element/types").PointerType;
hoveredElementIds: Readonly<{
[id: string]: true;
}>;
previousSelectedElementIds: {
[id: string]: true;
};
selectedElementsAreBeingDragged: boolean;
shouldCacheIgnoreZoom: boolean;
toast: {
message: string;
closable?: boolean | undefined;
duration?: number | undefined;
} | null;
zenModeEnabled: boolean;
theme: import("@excalidraw/element/types").Theme;
gridSize: number;
gridStep: number;
gridModeEnabled: boolean;
viewModeEnabled: boolean;
editingGroupId: string | null;
width: number;
height: number;
offsetTop: number;
offsetLeft: number;
fileHandle: import("browser-fs-access").FileSystemHandle | null;
collaborators: Map | undefined;
username?: string | null | undefined;
userState?: import("@excalidraw/common").UserIdleState | undefined;
color?: {
background: string;
stroke: string;
} | undefined;
avatarUrl?: string | undefined;
id?: string | undefined;
socketId?: import("../types").SocketId | undefined;
isCurrentUser?: boolean | undefined;
isInCall?: boolean | undefined;
isSpeaking?: boolean | undefined;
isMuted?: boolean | undefined;
}>>;
stats: {
open: boolean;
panels: number;
};
currentChartType: import("@excalidraw/element/types").ChartType;
pasteDialog: {
shown: false;
data: null;
} | {
shown: true;
data: import("../charts").Spreadsheet;
};
pendingImageElementId: string | null;
showHyperlinkPopup: false | "editor" | "info";
selectedLinearElement: import("../../element/src/linearElementEditor").LinearElementEditor | null;
snapLines: readonly import("../snapping").SnapLine[];
originSnapOffset: {
x: number;
y: number;
} | null;
objectsSnapModeEnabled: boolean;
userToFollow: import("../types").UserToFollow | null;
followedBy: Set;
isCropping: boolean;
croppingElementId: string | null;
searchMatches: readonly {
id: string;
focus: boolean;
matchedLines: {
offsetX: number;
offsetY: number;
width: number;
height: number;
}[];
}[];
};
captureUpdate: "NEVER";
};
} & {
keyTest?: undefined;
};
export declare const actionToggleHandTool: {
name: "toggleHandTool";
label: string;
trackEvent: {
category: "toolbar";
};
icon: import("react/jsx-runtime").JSX.Element;
viewMode: false;
perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly, _: any, app: import("../types").AppClassProperties) => {
appState: {
selectedElementIds: {};
selectedGroupIds: {};
activeEmbeddable: null;
activeTool: {
lastActiveTool: import("../types").ActiveTool | null;
locked: boolean;
fromSelection: boolean;
} & import("../types").ActiveTool;
contextMenu: {
items: import("../components/ContextMenu").ContextMenuItems;
top: number;
left: number;
} | null;
showWelcomeScreen: boolean;
isLoading: boolean;
errorMessage: import("react").ReactNode;
newElement: import("@excalidraw/element/types").NonDeleted | null;
resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
multiElement: import("@excalidraw/element/types").NonDeleted | null;
selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
isBindingEnabled: boolean;
startBoundElement: import("@excalidraw/element/types").NonDeleted | null;
suggestedBindings: import("../../element/src/binding").SuggestedBinding[];
frameToHighlight: import("@excalidraw/element/types").NonDeleted | null;
frameRendering: {
enabled: boolean;
name: boolean;
outline: boolean;
clip: boolean;
};
editingFrame: string | null;
elementsToHighlight: import("@excalidraw/element/types").NonDeleted[] | null;
editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
editingLinearElement: import("../../element/src/linearElementEditor").LinearElementEditor | null;
penMode: boolean;
penDetected: boolean;
exportBackground: boolean;
exportEmbedScene: boolean;
exportWithDarkMode: boolean;
exportScale: number;
currentItemStrokeColor: string;
currentItemBackgroundColor: string;
currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
currentItemStrokeWidth: number;
currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
currentItemRoughness: number;
currentItemOpacity: number;
currentItemFontFamily: number;
currentItemFontSize: number;
currentItemTextAlign: string;
currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
currentHoveredFontFamily: number | null;
currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
currentItemArrowType: "round" | "sharp" | "elbow";
viewBackgroundColor: string;
scrollX: number;
scrollY: number;
cursorButton: "up" | "down";
scrolledOutside: boolean;
name: string | null;
isResizing: boolean;
isRotating: boolean;
zoom: Readonly<{
value: import("../types").NormalizedZoomValue;
}>;
openMenu: "canvas" | "shape" | null;
openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
openSidebar: {
name: string;
tab?: string | undefined;
} | null;
openDialog: {
name: "imageExport" | "help" | "jsonExport";
} | {
name: "ttd";
tab: "text-to-diagram" | "mermaid";
} | {
name: "commandPalette";
} | {
name: "elementLinkSelector";
sourceElementId: string;
} | null;
defaultSidebarDockedPreference: boolean;
lastPointerDownWith: import("@excalidraw/element/types").PointerType;
hoveredElementIds: Readonly<{
[id: string]: true;
}>;
previousSelectedElementIds: {
[id: string]: true;
};
selectedElementsAreBeingDragged: boolean;
shouldCacheIgnoreZoom: boolean;
toast: {
message: string;
closable?: boolean | undefined;
duration?: number | undefined;
} | null;
zenModeEnabled: boolean;
theme: import("@excalidraw/element/types").Theme;
gridSize: number;
gridStep: number;
gridModeEnabled: boolean;
viewModeEnabled: boolean;
editingGroupId: string | null;
width: number;
height: number;
offsetTop: number;
offsetLeft: number;
fileHandle: import("browser-fs-access").FileSystemHandle | null;
collaborators: Map | undefined;
username?: string | null | undefined;
userState?: import("@excalidraw/common").UserIdleState | undefined;
color?: {
background: string;
stroke: string;
} | undefined;
avatarUrl?: string | undefined;
id?: string | undefined;
socketId?: import("../types").SocketId | undefined;
isCurrentUser?: boolean | undefined;
isInCall?: boolean | undefined;
isSpeaking?: boolean | undefined;
isMuted?: boolean | undefined;
}>>;
stats: {
open: boolean;
panels: number;
};
currentChartType: import("@excalidraw/element/types").ChartType;
pasteDialog: {
shown: false;
data: null;
} | {
shown: true;
data: import("../charts").Spreadsheet;
};
pendingImageElementId: string | null;
showHyperlinkPopup: false | "editor" | "info";
selectedLinearElement: import("../../element/src/linearElementEditor").LinearElementEditor | null;
snapLines: readonly import("../snapping").SnapLine[];
originSnapOffset: {
x: number;
y: number;
} | null;
objectsSnapModeEnabled: boolean;
userToFollow: import("../types").UserToFollow | null;
followedBy: Set;
isCropping: boolean;
croppingElementId: string | null;
searchMatches: readonly {
id: string;
focus: boolean;
matchedLines: {
offsetX: number;
offsetY: number;
width: number;
height: number;
}[];
}[];
};
captureUpdate: "IMMEDIATELY";
};
keyTest: (event: KeyboardEvent | import("react").KeyboardEvent) => boolean;
} & {
keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent) => boolean) | undefined;
};