import type { CommandItem } from "@/core/extensions/SlashCommands";
import { type EditorFloatingOverlayPositionContext } from "@/react/hooks/useEditorFloatingOverlayPosition";
interface UseCommandMenuOptions {
    editorWrapperRef: React.RefObject<HTMLDivElement | null>;
    commandMenuMaxHeight: number;
}
/** 斜杠命令菜单状态管理：命令项、选中项与编辑器内定位。 */
export declare function useCommandMenu({ editorWrapperRef, commandMenuMaxHeight, }: UseCommandMenuOptions): {
    showCommandMenu: boolean;
    setShowCommandMenu: import("react").Dispatch<import("react").SetStateAction<boolean>>;
    menuPositionContext: EditorFloatingOverlayPositionContext | null;
    selectedIndex: number;
    commandItems: CommandItem[];
    handleStart: () => void;
    handleUpdate: (_query: string, items?: CommandItem[]) => void;
    handleIndexChange: (index: number) => void;
    handleClientRect: (rect: DOMRect | null) => void;
    handleExit: () => void;
};
export {};
