import type { BoxRect } from 'grapesjs';
import { RefObject } from 'react';
import { Root } from 'react-dom/client';
import { CanvasSpotPlacerPosition } from '../components/Grapesjs/CanvasSpotPlacer';
export declare function useClickOutside<T extends HTMLElement>(ref: RefObject<T>, opts: {
    onTrigger: (el: HTMLElement) => void;
    enabled?: boolean;
}): void;
export declare const usePlacerUpdate: (placerRef: RefObject<HTMLElement>, opts: {
    zoomMultiplier: number;
    initialPos?: CanvasSpotPlacerPosition | undefined;
    boxRectScreen: BoxRect;
    vwHeight: number;
    setPos: (value: CanvasSpotPlacerPosition) => void;
}) => void;
declare global {
    interface HTMLElement {
        __sh: Root;
    }
}
export declare const useImmutableElement: (props: {
    ref: React.RefObject<HTMLElement>;
    node: React.ReactNode;
    show: boolean;
    update?: string | number | boolean | undefined;
    reload: () => void;
    styles?: Record<string, string> | undefined;
}) => void;
