import { type GlobalPoint, type LocalPoint } from "@excalidraw/math"; import { type GeometricShape } from "@excalidraw/utils/shape"; import type { AppClassProperties } from "@excalidraw/excalidraw/types"; import type { ExcalidrawElement, ElementsMap } from "./types"; export type ToolCategory = "manipulation" | "elements"; export declare const SHAPES: readonly [{ readonly icon: import("react/jsx-runtime").JSX.Element; readonly value: "selection"; readonly key: "v"; readonly numericKey: undefined; readonly fillable: true; readonly myocSimplifiedMode: true; }, { readonly icon: import("react/jsx-runtime").JSX.Element; readonly value: "rectangle"; readonly key: "r"; readonly numericKey: undefined; readonly fillable: true; readonly myocSimplifiedMode: false; }, { readonly icon: import("react/jsx-runtime").JSX.Element; readonly value: "diamond"; readonly key: "d"; readonly numericKey: undefined; readonly fillable: true; readonly myocSimplifiedMode: false; }, { readonly icon: import("react/jsx-runtime").JSX.Element; readonly value: "ellipse"; readonly key: "o"; readonly numericKey: undefined; readonly fillable: true; readonly myocSimplifiedMode: false; }, { readonly icon: import("react/jsx-runtime").JSX.Element; readonly value: "arrow"; readonly key: "a"; readonly numericKey: undefined; readonly fillable: true; readonly myocSimplifiedMode: false; }, { readonly icon: import("react/jsx-runtime").JSX.Element; readonly value: "line"; readonly key: "l"; readonly numericKey: undefined; readonly fillable: true; readonly myocSimplifiedMode: false; }, { readonly icon: import("react/jsx-runtime").JSX.Element; readonly value: "freedraw"; readonly key: readonly ["p", "x"]; readonly numericKey: undefined; readonly fillable: false; readonly myocSimplifiedMode: true; }, { readonly icon: import("react/jsx-runtime").JSX.Element; readonly value: "text"; readonly key: "t"; readonly numericKey: undefined; readonly fillable: false; readonly myocSimplifiedMode: true; }, { readonly icon: import("react/jsx-runtime").JSX.Element; readonly value: "image"; readonly key: readonly ["i"]; readonly numericKey: undefined; readonly fillable: false; readonly myocSimplifiedMode: true; }, { readonly icon: import("react/jsx-runtime").JSX.Element; readonly value: "eraser"; readonly key: "e"; readonly numericKey: undefined; readonly fillable: false; readonly myocSimplifiedMode: true; }]; export declare const getToolbarTools: (app: AppClassProperties) => readonly [{ readonly icon: import("react/jsx-runtime").JSX.Element; readonly value: "selection"; readonly key: "v"; readonly numericKey: undefined; readonly fillable: true; readonly myocSimplifiedMode: true; }, { readonly icon: import("react/jsx-runtime").JSX.Element; readonly value: "rectangle"; readonly key: "r"; readonly numericKey: undefined; readonly fillable: true; readonly myocSimplifiedMode: false; }, { readonly icon: import("react/jsx-runtime").JSX.Element; readonly value: "diamond"; readonly key: "d"; readonly numericKey: undefined; readonly fillable: true; readonly myocSimplifiedMode: false; }, { readonly icon: import("react/jsx-runtime").JSX.Element; readonly value: "ellipse"; readonly key: "o"; readonly numericKey: undefined; readonly fillable: true; readonly myocSimplifiedMode: false; }, { readonly icon: import("react/jsx-runtime").JSX.Element; readonly value: "arrow"; readonly key: "a"; readonly numericKey: undefined; readonly fillable: true; readonly myocSimplifiedMode: false; }, { readonly icon: import("react/jsx-runtime").JSX.Element; readonly value: "line"; readonly key: "l"; readonly numericKey: undefined; readonly fillable: true; readonly myocSimplifiedMode: false; }, { readonly icon: import("react/jsx-runtime").JSX.Element; readonly value: "freedraw"; readonly key: readonly ["p", "x"]; readonly numericKey: undefined; readonly fillable: false; readonly myocSimplifiedMode: true; }, { readonly icon: import("react/jsx-runtime").JSX.Element; readonly value: "text"; readonly key: "t"; readonly numericKey: undefined; readonly fillable: false; readonly myocSimplifiedMode: true; }, { readonly icon: import("react/jsx-runtime").JSX.Element; readonly value: "image"; readonly key: readonly ["i"]; readonly numericKey: undefined; readonly fillable: false; readonly myocSimplifiedMode: true; }, { readonly icon: import("react/jsx-runtime").JSX.Element; readonly value: "eraser"; readonly key: "e"; readonly numericKey: undefined; readonly fillable: false; readonly myocSimplifiedMode: true; }] | readonly [{ readonly value: "lasso"; readonly icon: import("react/jsx-runtime").JSX.Element; readonly key: "v"; readonly fillable: true; readonly myocSimplifiedMode: true; }, ...({ readonly icon: import("react/jsx-runtime").JSX.Element; readonly value: "selection"; readonly key: "v"; readonly numericKey: undefined; readonly fillable: true; readonly myocSimplifiedMode: true; } | { readonly icon: import("react/jsx-runtime").JSX.Element; readonly value: "rectangle"; readonly key: "r"; readonly numericKey: undefined; readonly fillable: true; readonly myocSimplifiedMode: false; } | { readonly icon: import("react/jsx-runtime").JSX.Element; readonly value: "diamond"; readonly key: "d"; readonly numericKey: undefined; readonly fillable: true; readonly myocSimplifiedMode: false; } | { readonly icon: import("react/jsx-runtime").JSX.Element; readonly value: "ellipse"; readonly key: "o"; readonly numericKey: undefined; readonly fillable: true; readonly myocSimplifiedMode: false; } | { readonly icon: import("react/jsx-runtime").JSX.Element; readonly value: "arrow"; readonly key: "a"; readonly numericKey: undefined; readonly fillable: true; readonly myocSimplifiedMode: false; } | { readonly icon: import("react/jsx-runtime").JSX.Element; readonly value: "line"; readonly key: "l"; readonly numericKey: undefined; readonly fillable: true; readonly myocSimplifiedMode: false; } | { readonly icon: import("react/jsx-runtime").JSX.Element; readonly value: "freedraw"; readonly key: readonly ["p", "x"]; readonly numericKey: undefined; readonly fillable: false; readonly myocSimplifiedMode: true; } | { readonly icon: import("react/jsx-runtime").JSX.Element; readonly value: "text"; readonly key: "t"; readonly numericKey: undefined; readonly fillable: false; readonly myocSimplifiedMode: true; } | { readonly icon: import("react/jsx-runtime").JSX.Element; readonly value: "image"; readonly key: readonly ["i"]; readonly numericKey: undefined; readonly fillable: false; readonly myocSimplifiedMode: true; } | { readonly icon: import("react/jsx-runtime").JSX.Element; readonly value: "eraser"; readonly key: "e"; readonly numericKey: undefined; readonly fillable: false; readonly myocSimplifiedMode: true; })[]]; export declare const findShapeByKey: (key: string, app: AppClassProperties) => "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "lasso" | "eraser" | null; export declare const getBoundTextShape: (element: ExcalidrawElement, elementsMap: ElementsMap) => GeometricShape | null;