import { CustomDragState, DebugConfig, DragOverPosition, DragState, OriginalPanelPosition } from '../types'; /** * `useNormalDragHandlers` フックが受け取るプロパティの型定義。 * Defines the props structure for the `useNormalDragHandlers` hook. */ interface UseNormalDragHandlersProps { debugConfig: DebugConfig; dragState: DragState; customDrag: CustomDragState; dragModes: Record; columnPanels: Record; dragOverPosition: DragOverPosition | null; originalPanelPosition: OriginalPanelPosition | null; setDragState: (state: DragState | ((prev: DragState) => DragState)) => void; setDragOverPosition: (position: DragOverPosition | null) => void; setOriginalPanelPosition: (position: OriginalPanelPosition | null) => void; performPanelMove: (panelId: string, targetColumn: string, insertIndex: number) => void; showMousePosition: (x: number, y: number) => void; updateMousePosition: (x: number, y: number) => void; resetDragState: () => void; handlePlaceholderDragEnter: (columnIndex: number, insertIndex: number) => void; handlePlaceholderDragLeave: (e?: React.DragEvent, columnIndex?: number, insertIndex?: number) => void; } /** * 標準HTML5 D&Dイベントハンドラを提供するカスタムフック。 * * `useCallback` でメモ化されたイベントハンドラ群を返す。 * パフォーマンス向上のため、頻繁に更新される値は `useRef` を介して参照し、 * コールバック関数の再生成を最小限に抑える。 * * A custom hook that provides memoized event handlers for standard HTML5 drag-and-drop。 * * It returns a set of event handlers memoized with `useCallback`。 * For performance optimization, frequently updated values are accessed via `useRef` * to minimize the re-creation of callback functions。 */ export declare const useNormalDragHandlers: ({ debugConfig, dragState, customDrag, dragModes, columnPanels, dragOverPosition, originalPanelPosition, setDragState, setDragOverPosition, setOriginalPanelPosition, performPanelMove, showMousePosition, updateMousePosition, resetDragState, handlePlaceholderDragEnter, handlePlaceholderDragLeave, }: UseNormalDragHandlersProps) => { handleDragStart: (e: React.DragEvent, panelId: string) => void; handleDragEnd: () => void; handleDragOverWithInsert: (e: React.DragEvent, columnIndex: number) => void; handleDropWithInsert: (e: React.DragEvent, targetColumn: string) => void; handleColumnDragLeave: (e: React.DragEvent) => void; }; export {}; //# sourceMappingURL=useNormalDragHandlers.d.ts.map