import { ExcalidrawLinearElement, ExcalidrawBindableElement, NonDeleted, NonDeletedExcalidrawElement, ExcalidrawElement } from "./types"; import { AppState } from "../types"; import Scene from "../scene/Scene"; export declare type SuggestedBinding = NonDeleted | SuggestedPointBinding; export declare type SuggestedPointBinding = [ NonDeleted, "start" | "end" | "both", NonDeleted ]; export declare const shouldEnableBindingForPointerEvent: (event: React.PointerEvent) => boolean; export declare const isBindingEnabled: (appState: AppState) => boolean; export declare const bindOrUnbindLinearElement: (linearElement: NonDeleted, startBindingElement: ExcalidrawBindableElement | null | "keep", endBindingElement: ExcalidrawBindableElement | null | "keep") => void; export declare const bindOrUnbindSelectedElements: (elements: NonDeleted[]) => void; export declare const maybeBindLinearElement: (linearElement: NonDeleted, appState: AppState, scene: Scene, pointerCoords: { x: number; y: number; }) => void; export declare const isLinearElementSimpleAndAlreadyBound: (linearElement: NonDeleted, alreadyBoundToId: ExcalidrawBindableElement["id"] | undefined, bindableElement: ExcalidrawBindableElement) => boolean; export declare const unbindLinearElements: (elements: NonDeleted[]) => void; export declare const getHoveredElementForBinding: (pointerCoords: { x: number; y: number; }, scene: Scene) => NonDeleted | null; export declare const updateBoundElements: (changedElement: NonDeletedExcalidrawElement, options?: { simultaneouslyUpdated?: readonly ExcalidrawElement[] | undefined; newSize?: { width: number; height: number; } | undefined; } | undefined) => void; export declare const getEligibleElementsForBinding: (elements: NonDeleted[]) => SuggestedBinding[]; export declare const fixBindingsAfterDuplication: (sceneElements: readonly ExcalidrawElement[], oldElements: readonly ExcalidrawElement[], oldIdToDuplicatedId: Map, duplicatesServeAsOld?: "duplicatesServeAsOld" | undefined) => void; export declare const fixBindingsAfterDeletion: (sceneElements: readonly ExcalidrawElement[], deletedElements: readonly ExcalidrawElement[]) => void;