import { ForwardRefExoticComponent, HTMLAttributes, RefAttributes } from "react"; import { BlockHandleAddElement, BlockHandleAddProps as BlockHandleAddProps$1, BlockHandleDraggableElement, BlockHandleDraggableProps as BlockHandleDraggableProps$1, BlockHandlePopupElement, BlockHandlePositionerElement, BlockHandlePositionerProps as BlockHandlePositionerProps$1, BlockHandleRootElement, BlockHandleRootEvents, BlockHandleRootProps as BlockHandleRootProps$1 } from "@prosekit/web/block-handle"; /** Props for the {@link BlockHandleAdd} React component. */ interface BlockHandleAddProps { /** * The ProseKit editor instance. * * @default null * @hidden */ editor?: BlockHandleAddProps$1['editor']; } /** A React component that renders an `prosekit-block-handle-add` custom element. */ export declare const BlockHandleAdd: ForwardRefExoticComponent & RefAttributes>; /** Props for the {@link BlockHandleDraggable} React component. */ interface BlockHandleDraggableProps { /** * The ProseKit editor instance. * * @default null * @hidden */ editor?: BlockHandleDraggableProps$1['editor']; } /** A React component that renders an `prosekit-block-handle-draggable` custom element. */ export declare const BlockHandleDraggable: ForwardRefExoticComponent & RefAttributes>; /** Props for the {@link BlockHandlePopup} React component. */ interface BlockHandlePopupProps {} /** A React component that renders an `prosekit-block-handle-popup` custom element. */ export declare const BlockHandlePopup: ForwardRefExoticComponent & RefAttributes>; /** Props for the {@link BlockHandlePositioner} React component. */ interface BlockHandlePositionerProps { /** * The placement of the popover, relative to the hovered block. * * @default "left" */ placement?: BlockHandlePositionerProps$1['placement']; /** * Whether to use the browser [Popover API](https://developer.mozilla.org/en-US/docs/Web/API/Popover_API) * to place the floating element on top of other page content. * * @default false */ hoist?: BlockHandlePositionerProps$1['hoist']; /** * @default false * @hidden */ flip?: BlockHandlePositionerProps$1['flip']; /** * @default false * @hidden */ shift?: BlockHandlePositionerProps$1['shift']; /** * @default true * @hidden */ hide?: BlockHandlePositionerProps$1['hide']; /** * The strategy to use for positioning * * @default "absolute" */ strategy?: BlockHandlePositionerProps$1['strategy']; /** * Options to activate auto-update listeners * * @see https://floating-ui.com/docs/autoUpdate * * @default true */ autoUpdate?: BlockHandlePositionerProps$1['autoUpdate']; /** * The distance between the reference and floating element. * * @default 6 */ offset?: BlockHandlePositionerProps$1['offset']; /** * Whether the floating element can overlap the reference element to keep it * in view. * * @default false */ overlap?: BlockHandlePositionerProps$1['overlap']; /** * Whether to constrain the floating element's width and height to not exceed * the viewport. * * @default false */ fitViewport?: BlockHandlePositionerProps$1['fitViewport']; /** * Whether to constrain the floating element's width so that it matches the * reference element. * * @default false */ sameWidth?: BlockHandlePositionerProps$1['sameWidth']; /** * Whether to constrain the floating element's height so that it matches the * reference element. * * @default false */ sameHeight?: BlockHandlePositionerProps$1['sameHeight']; /** * Whether to improve positioning for inline reference elements that span over * multiple lines. * * @default false */ inline?: BlockHandlePositionerProps$1['inline']; /** * Describes the clipping element(s) or area that overflow will be checked relative to. * Please see https://floating-ui.com/docs/detectoverflow#boundary for more information. * * @default 'clippingAncestors' */ boundary?: BlockHandlePositionerProps$1['boundary']; /** * Describes the root boundary that the element will be checked for overflow relative to. * Please see https://floating-ui.com/docs/detectoverflow#rootboundary for more information. * * @default 'viewport' */ rootBoundary?: BlockHandlePositionerProps$1['rootBoundary']; /** * Describes the virtual padding around the boundary to check for overflow. * Please see https://floating-ui.com/docs/detectoverflow#padding for more information. * * @default 4 */ overflowPadding?: BlockHandlePositionerProps$1['overflowPadding']; /** * The element that will be used to check for overflow. Please see * https://floating-ui.com/docs/detectoverflow#elementcontext for more * information. * * @default 'floating' */ elementContext?: BlockHandlePositionerProps$1['elementContext']; /** * Whether to check the alternate elementContext's boundary. Please see * https://floating-ui.com/docs/detectoverflow#altboundary for more * information. * * @default false */ altBoundary?: BlockHandlePositionerProps$1['altBoundary']; } /** A React component that renders an `prosekit-block-handle-positioner` custom element. */ export declare const BlockHandlePositioner: ForwardRefExoticComponent & RefAttributes>; /** Props for the {@link BlockHandleRoot} React component. */ interface BlockHandleRootProps { /** * The ProseKit editor instance. * * @default null * @hidden */ editor?: BlockHandleRootProps$1['editor']; /** Fired when the hovered block changes. */ onStateChange?: (event: BlockHandleRootEvents['stateChange']) => void; } /** A React component that renders an `prosekit-block-handle-root` custom element. */ export declare const BlockHandleRoot: ForwardRefExoticComponent & RefAttributes>; export type { BlockHandleAddProps, BlockHandleDraggableProps, BlockHandlePopupProps, BlockHandlePositionerProps, BlockHandleRootProps }; //# sourceMappingURL=block-handle.d.ts.map