import * as React from 'react'; import type { SchedulerEventOccurrence, SchedulerResource } from '@mui/x-scheduler-internals/models'; import type { SchedulerDependencyId } from '@mui/x-scheduler-internals-premium/models'; import type { DependencyAnchorResolver } from "./dependencyAnchorResolver.mjs"; import type { DependencyArrow } from "./dependencyArrowGeometry.mjs"; export interface EventTimelinePremiumDependencyGeometryValue { resolver: DependencyAnchorResolver; /** * The arrows intersecting the visible range. Selection-agnostic (the provider does * not subscribe to the selection): the layers highlighting the selected arrow order * it last themselves, through `orderArrowsWithSelectedLast`. */ visibleArrows: DependencyArrow[]; eventsWidth: number; /** * The y of the first rendered row: the overlays' y = 0 in absolute row-space. */ offsetTop: number; height: number; visibleStartFraction: number; visibleEndFraction: number; firstRowIndex: number; lastRowIndex: number; resources: readonly { resource: SchedulerResource; occurrences: SchedulerEventOccurrence[]; }[]; } /** * The visible arrows with the selected one last, so its highlight (and its hit area) * is never covered by a sibling. Returns the input array when nothing is selected. */ export declare function orderArrowsWithSelectedLast(arrows: DependencyArrow[], selectedId: SchedulerDependencyId | null): DependencyArrow[]; export declare function useDependencyGeometry(): EventTimelinePremiumDependencyGeometryValue; /** * Computes the dependency geometry once and shares it with the three overlays (visual * arrows, terminals, interactions), which would otherwise each run the resolver and * the routing on every render of their own. Renders no DOM. Deliberately not * subscribed to the creation gesture: only the layers drawing it pay for its * start/snap/end updates. * Pass-through when the dependencies feature is disabled: the overlays return null * before reading the context, and the timeline must not pay the provider's scroll and * rows-meta subscriptions for a feature it does not use. */ export declare function EventTimelinePremiumDependencyGeometryProvider({ children }: { children: React.ReactNode; }): string | number | bigint | boolean | React.JSX.Element | Iterable | Promise | React.ReactElement> | React.ReactPortal | null | undefined> | null | undefined;