import * as React from 'react'; import type { SchedulerEventOccurrence, SchedulerResource } from '@mui/x-scheduler-internals/models'; import type { Adapter } from '@mui/x-scheduler-internals/use-adapter'; import type { TimelineAxis } from '@mui/x-scheduler-internals/internals'; type ResourceWithOccurrences = { resource: SchedulerResource; occurrences: SchedulerEventOccurrence[]; }; /** * Tab/Shift+Tab interceptor that makes virtualized-out events reachable. * * For each Tab on an event: resolves the focused occurrence (via `data-occurrence-key` * + the row's `data-resource-id`), finds its neighbor in the full occurrence list, * scrolls the virtualizer so it's in view, and focuses it with `preventScroll: true` * — directly if mounted, or via a layout-effect retry once the scroll-driven re-render * mounts it. Returns `false` at row boundaries so default Tab moves to the next row. */ export declare function useEventTabNavigation(params: { adapter: Adapter; /** * The visible resources with the occurrences that occupy space on the axis, in row * render order. Occurrences hidden by the hour window must already be excluded: * they never mount, so navigating to one would swallow Tab forever. */ resources: readonly ResourceWithOccurrences[]; scrollerRef: React.RefObject; axis: TimelineAxis; durationMs: number; tickCount: number; tickWidth: number; titleColumnWidth: number; }): { handleKeyDown: (event: React.KeyboardEvent) => void; }; export {};