import { Editor } from '@tiptap/react';
import { default as React } from 'react';
import { IBEditorMediaOverlayState, IBEditorMediaTarget } from '../core/types';
import { TBEditorMediaAlignment, TBEditorMediaResizeHandle } from '../media/resize';
export declare function resolveBEditorMediaTarget(target: EventTarget | Node | null | undefined, root: HTMLElement | null): IBEditorMediaTarget | null;
export declare function resolveBEditorMediaTargetAtPoint(root: HTMLElement | null, clientX: number, clientY: number): IBEditorMediaTarget | null;
interface IUseBEditorMediaInteractionParams {
    editor: Editor | null;
    editorContainerRef: React.RefObject<HTMLDivElement | null>;
    isReadonly: boolean;
    isTitleMode: boolean;
    noImageResize?: boolean;
}
export declare function useBEditorMediaInteraction({ editor, editorContainerRef, isReadonly, isTitleMode, noImageResize, }: IUseBEditorMediaInteractionParams): {
    handleMediaAlign: (alignment: TBEditorMediaAlignment) => void;
    handleMediaPointerDown: (event: React.SyntheticEvent<HTMLDivElement>) => boolean;
    handleMediaResizeKeyDown: (handle: TBEditorMediaResizeHandle, event: React.KeyboardEvent<HTMLElement>) => void;
    handleMediaResizeStart: (handle: TBEditorMediaResizeHandle, event: React.MouseEvent<HTMLElement>) => void;
    hideMediaOverlay: () => void;
    mediaOverlay: IBEditorMediaOverlayState | null;
    mediaOverlayRef: React.RefObject<HTMLDivElement | null>;
    syncMediaOverlay: (target?: IBEditorMediaTarget | null) => void;
};
export {};
