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: <Point extends GlobalPoint | LocalPoint>(element: ExcalidrawElement, elementsMap: ElementsMap) => GeometricShape<Point> | null;
