import { TimelineControlCommitDetails } from "../core/timelineControlEvents.mjs"; //#region src/hooks/viewport/useTimelinePanControl.d.ts /** * Options for adapting horizontal timeline scroll to a scalar control. */ interface TimelinePanControlOptions { /** Minimum scroll offset in pixels. Defaults to 0. */ min?: number; /** Maximum scroll offset in pixels. Defaults to the engine max scroll left. */ max?: number; /** Slider step in pixels. Defaults to 1. */ step?: number; /** Accessible label for the pan control. */ label?: string; /** * Called after the hook applies a committed control value to the engine. * * When the underlying scalar control provides commit details, Canvas Timeline * forwards them unchanged as the second argument and does not read their * fields. */ onValueCommitted?: (value: number[], eventDetails?: TimelineControlCommitDetails) => void; } /** * Adapts horizontal timeline scroll to a Base UI-compatible scalar slider. * * Use this hook when an application wants a semantic pan control for * `TimelineEngine.scrollLeft`. It overlaps with `useTimelineViewport` only at * the engine command layer; this hook adds slider props, bounds, and formatted * ARIA value text for custom UI primitives. * * @param options - Optional scroll bounds, step size, label, and commit callback. * @returns Current scroll offset, formatted value text, imperative setters, and props for `Slider.Root` plus `Slider.Thumb`. * * @example * ```tsx * const pan = useTimelinePanControl({ step: 40 }); * * return ( * * * * * * * * * ); * ``` */ declare function useTimelinePanControl(options?: TimelinePanControlOptions): { /** Accessible label used by the default thumb props. */ label: string; /** Maximum scroll offset in pixels. */ max: any; /** Minimum scroll offset in pixels. */ min: number; /** Slider step in pixels. */ step: number; /** Current horizontal scroll offset in pixels. */ value: any; /** Formatted pan value for assistive technology. */ valueText: string; /** Sets horizontal scroll offset without an additional explicit commit callback. */ setValue: (nextValue: number) => void; /** Sets horizontal scroll offset and settles the engine interaction. */ commit: (nextValue?: any) => void; /** Formats a scroll offset value for `aria-valuetext`. */ getAriaValueText: any; /** Props for a Base UI `Slider.Root`. */ rootProps: any; /** Props for a Base UI `Slider.Thumb`. */ thumbProps: any; }; //#endregion export { TimelinePanControlOptions, useTimelinePanControl }; //# sourceMappingURL=useTimelinePanControl.d.mts.map