import * as React from 'react'; import type { SchedulerEventSide } from "../../models/index.js"; /** * Native drag-and-drop resize for calendar events. This hook and the pointer-based resize * ({@link useEventPointerResizeHandler}) run together on the same handle and share one `enabled` * (the edge is inside the collection). The mouse is served here; touch and pen are served by the * pointer hook, which bails on `pointerType === 'mouse'`. */ export declare function useEventResizeHandler(parameters: useEventResizeHandler.Parameters): useEventResizeHandler.ReturnValue; export declare namespace useEventResizeHandler { interface State { /** * Whether the resize handler is targeting the start date of the event. */ start: boolean; /** * Whether the resize handler is targeting the end date of the event. */ end: boolean; } interface PublicParameters { /** * The date to edit when dragging the resize handler. */ side: SchedulerEventSide; } interface Parameters extends PublicParameters { /** * The ref to the event's resize handler root element. */ ref: React.RefObject; /** * Whether to attach the native drag-and-drop listeners (false when the side is clipped by the * collection boundary). Shared with {@link useEventPointerResizeHandler} — it is never turned * off "because the pointer interaction is active". */ enabled: boolean; /** * Gets the drag data. * @param {{ clientX: number, clientY: number }} input The input object provided by the drag and drop library for the current event. * @returns {any} The shared drag data. */ getDragData: (input: { clientX: number; clientY: number; }) => any; } interface ReturnValue { /** * The state to pass to the useRenderElement hook. */ state: State; } }