import * as React from 'react'; import type { SchedulerEventId, SchedulerEventSide, SchedulerResourceId } from '@mui/x-scheduler-internals/models'; import type { BaseUIComponentProps } from '@base-ui/react/internals/types'; /** * Narrows a drag payload to this handle's drag data — the one definition shared by * the creation monitor and the event drop targets. A local narrow rather than a * `buildIsValidDropTarget` guard: the terminal drag never produces an occurrence * placeholder, so it does not register in `EventDropDataLookup`. */ export declare function isDependencyTerminalDrag(data: any): data is TimelineGridEventDependencyTerminal.DragData; /** * The terminal on the end edge of an event: dragging it onto another event creates a * `FinishToStart` dependency. Positioned by the caller (it does not live inside the * event element), which is also responsible for only rendering it when the * dependencies feature applies to its event. The drag lifecycle is handled by a global * monitor mounted by the grid root (not here) so the gesture survives this element * being unmounted by virtualization mid-drag. */ export declare const TimelineGridEventDependencyTerminal: React.ForwardRefExoticComponent & React.RefAttributes>; export declare namespace TimelineGridEventDependencyTerminal { interface State {} interface Props extends BaseUIComponentProps<'div', State> { /** * The event the terminal belongs to. */ eventId: SchedulerEventId; /** * The row appearance of the event the terminal is anchored on. */ occurrenceKey: string; /** * The resource of the row appearance. Qualifies the occurrence key, which an * event assigned to several resources repeats on each of its rows. */ resourceId: SchedulerResourceId; /** * The event edge the terminal sits on — the edge of the predecessor the created * dependency starts from. Only `'end'` is exercised while `FinishToStart` is the * only dependency type; the start-edge terminals arrive with the other types. * @default 'end' */ side?: SchedulerEventSide; } interface DragData { eventId: SchedulerEventId; occurrenceKey: string; /** * The resource of the row appearance the gesture started from. */ resourceId: SchedulerResourceId; /** * The edge of the source event the gesture started from. Combined with the drop * edge, it determines the created dependency's type. */ sourceSide: SchedulerEventSide; source: 'TimelineGridEventDependencyTerminal'; /** * The store of the timeline the gesture started in, compared by identity so * several timelines on one page don't react to each other's gestures. */ storeContext: unknown; } }