import * as React from 'react'; import { SchedulerEvent, SchedulerOccurrencePlaceholder, SchedulerOccurrencePlaceholderExternalDrag, SchedulerOccurrencePlaceholderInternalDragOrResize, EventSurfaceType, TemporalSupportedObject, SchedulerResourceId } from "../../models/index.js"; import { EventDropData, EventDropDataLookup } from "../../build-is-valid-drop-target/buildIsValidDropTarget.js"; import { StandaloneEvent } from "../../standalone-event/index.js"; export declare function useDropTarget(parameters: useDropTarget.Parameters): void; export declare namespace useDropTarget { interface Parameters { surfaceType: EventSurfaceType; ref: React.RefObject; isValidDropTarget: (data: any) => data is EventDropDataLookup[Targets]; getEventDropData: GetEventDropData; /** * Add properties to the event dropped in the element before storing it in the store. */ addPropertiesToDroppedEvent?: () => Partial; /** * The id of the resource onto which to drop the event. * If null, the event will be dropped outside of any resource. * If not defined, the event will be dropped onto the resource it was originally in (if any). */ resourceId?: SchedulerResourceId | null; } type GetDataFromInside = (data: Exclude, newStart: TemporalSupportedObject, newEnd: TemporalSupportedObject) => SchedulerOccurrencePlaceholderInternalDragOrResize; type GetDataFromOutside = (data: StandaloneEvent.DragData, start: TemporalSupportedObject) => SchedulerOccurrencePlaceholderExternalDrag | undefined; type GetEventDropData = (parameters: { data: any; input: { clientX: number; clientY: number; }; getDataFromInside: GetDataFromInside; getDataFromOutside: GetDataFromOutside; }) => SchedulerOccurrencePlaceholder | undefined; }