import type { ExcalidrawElement, NonDeletedExcalidrawElement, NonDeletedSceneElementsMap } from "@excalidraw/element/types";
type SmartZoomTarget = readonly ExcalidrawElement[];
export declare const SMART_ZOOM_KEY_HINT = "Press F quickly to smart zoom the canvas, or hold and click on an item to smart zoom to it";
export declare const smartZoomKeyHeldAtom: import("jotai").PrimitiveAtom & {
init: boolean;
};
export declare const getNextSmartZoomImage: (elements: readonly NonDeletedExcalidrawElement[], elementsMap: NonDeletedSceneElementsMap, currentImageId: ExcalidrawElement["id"] | null, direction: "previous" | "next") => (Readonly<{
id: string;
x: number;
y: number;
strokeColor: string;
backgroundColor: string;
fillStyle: import("@excalidraw/element/types").FillStyle;
strokeWidth: number;
strokeStyle: import("@excalidraw/element/types").StrokeStyle;
roundness: null | {
type: import("@excalidraw/element/types").RoundnessType;
value?: number;
};
roughness: number;
opacity: number;
width: number;
height: number;
angle: import("@excalidraw/math").Radians;
seed: number;
version: number;
versionNonce: number;
index: import("@excalidraw/element/types").FractionalIndex | null;
isDeleted: boolean;
groupIds: readonly import("@excalidraw/element/types").GroupId[];
frameId: string | null;
boundElements: readonly import("@excalidraw/element/types").BoundElement[] | null;
updated: number;
link: string | null;
locked: boolean;
customData?: Record;
}> & Readonly<{
type: "image";
fileId: import("@excalidraw/element/types").FileId | null;
fileName: string | null;
thumbHash: string | null;
status: "pending" | "saved" | "error";
scale: [number, number];
crop: import("@excalidraw/element/types").ImageCrop | null;
gifPlayback: import("@excalidraw/element/types").ExcalidrawGifPlayback | null;
}> & {
isDeleted: false;
} & Readonly<{
id: string;
x: number;
y: number;
strokeColor: string;
backgroundColor: string;
fillStyle: import("@excalidraw/element/types").FillStyle;
strokeWidth: number;
strokeStyle: import("@excalidraw/element/types").StrokeStyle;
roundness: null | {
type: import("@excalidraw/element/types").RoundnessType;
value?: number;
};
roughness: number;
opacity: number;
width: number;
height: number;
angle: import("@excalidraw/math").Radians;
seed: number;
version: number;
versionNonce: number;
index: import("@excalidraw/element/types").FractionalIndex | null;
isDeleted: boolean;
groupIds: readonly import("@excalidraw/element/types").GroupId[];
frameId: string | null;
boundElements: readonly import("@excalidraw/element/types").BoundElement[] | null;
updated: number;
link: string | null;
locked: boolean;
customData?: Record;
}>) | null;
export declare const actionSmartZoom: import("./types").Action & {
keyTest?: ((event: React.KeyboardEvent | KeyboardEvent, appState: import("../types").AppState, elements: readonly ExcalidrawElement[], app: import("../types").AppClassProperties) => boolean) | undefined;
};
export {};