import { RefObject } from 'react';
import { Editor } from '@tiptap/react';
import { CommentFloatingCard } from './context/types';
import { UseAnchorRegistryResult } from './use-anchor-registry';
import { UseFloatingCardStateResult } from './use-floating-card-state';

interface UseFloatingLayoutEngineProps {
    blurFloatingCard: (floatingCardId: string) => void;
    closeFloatingCard: (floatingCardId: string) => void;
    editor: Editor;
    editorWrapperRef: RefObject<HTMLDivElement>;
    floatingCardIdsKey: string;
    floatingCards: CommentFloatingCard[];
    focusedFloatingCardId: string | null;
    isDesktopFloatingEnabled: boolean;
    isHidden: boolean;
    scrollContainerRef: RefObject<HTMLDivElement>;
    anchorRegistry: UseAnchorRegistryResult;
    floatingCardState: UseFloatingCardStateResult;
}
export interface UseFloatingLayoutEngineResult {
    floatingCardListContainerRef: RefObject<HTMLDivElement>;
    registerCardNode: (floatingCardId: string, node: HTMLDivElement | null) => void;
}
export declare const useFloatingLayoutEngine: ({ blurFloatingCard, closeFloatingCard, editor, editorWrapperRef, floatingCardIdsKey, floatingCards, focusedFloatingCardId, isDesktopFloatingEnabled, isHidden, scrollContainerRef, anchorRegistry, floatingCardState, }: UseFloatingLayoutEngineProps) => UseFloatingLayoutEngineResult;
export {};
