import { type RefObject } from 'react'; export interface SeekOnPointerOptions { /** * Called when a shift-click lands on the element. If provided, shift-clicks * don't seek — the caller decides what to do with the time (e.g. drop a * persistent temporal marker). Omitted → shift-click seeks like normal. */ onShiftClick?: (time: number) => void; /** * When true, the interaction is bypassed entirely. Used to suspend seek * handling while a vertical-drag gesture takes over the lane area. */ disabled?: boolean; /** * Receives pointer deltas since the initial pointerdown. If the callback * returns `true` the drag is canceled (seek stops, pointer capture * released) — lets callers upgrade a horizontal seek into a vertical * scroll when the movement turns out to be mostly vertical. */ onDragUpgrade?: (dx: number, dy: number) => boolean; } /** * Attach pointerdown/move/up handlers to an element so that clicking or * dragging inside it seeks the shared clock to the corresponding time. * * Used by both the ruler (the whole bar) and the lane area background * (everywhere that isn't a lane-internal interactive element). * * Children that want to intercept the click (e.g. a pill opens a detail * popover) should call `e.preventDefault()` or `e.stopPropagation()` * in their own handler. */ export declare function useSeekOnPointer(ref: RefObject, options?: SeekOnPointerOptions): void; //# sourceMappingURL=use-seek-on-pointer.d.ts.map