import { CanvasState, CanvasElementData, CanvasEventName } from '../types'; import { HistoryAPI } from './useHistory'; export interface UseElementsOptions { emit: (event: CanvasEventName, ...args: any[]) => void; saveState: () => void; } export type ElementsManagerAPI = ReturnType; export declare function useElements(state: CanvasState, history: HistoryAPI, options: UseElementsOptions): { registeredElements: import('vue').ShallowRef, Record>; loadElements: (components: Record) => void; addElement: (elementOrElements: CanvasElementData | CanvasElementData[], skipHistory?: boolean) => void; updateElement: (id: string, updates: Partial, skipHistory?: boolean) => void; removeElement: (ids: string | string[], skipHistory?: boolean) => void; insertElementBefore: (element: CanvasElementData, targetId: string) => void; insertElementAfter: (element: CanvasElementData, targetId: string) => void; selectElement: (id: string, multi?: boolean, ignoreGroup?: boolean) => void; deselectElement: (id: string) => void; clearSelection: () => void; setSelection: (ids: string | string[]) => void; selectGroup: (groupId: string) => void; groupSelected: () => void; unGroupSelected: () => void; alignSelected: (direction: "top" | "bottom" | "left" | "right" | "center" | "middle") => void; alignCanvas: (direction: "top" | "bottom" | "left" | "right" | "center" | "middle") => void; };