import { RationalTime } from "@techsquidtv/canvas-timeline-utils"; import { TimelineCommandResult, TimelineEditCommitResult } from "@techsquidtv/canvas-timeline-core"; //#region src/hooks/selection/useTimelineRangeSelection.d.ts /** Timeline range selected for range edit commands. */ interface TimelineRangeSelection { /** Inclusive selected range start. */ startTime: RationalTime; /** Exclusive selected range end. */ endTime: RationalTime; } /** Result returned by `useTimelineRangeSelection`. */ interface UseTimelineRangeSelectionResult { /** Selected timeline range, or null when both boundaries are not set. */ range: TimelineRangeSelection | null; /** Whether a complete range is selected. */ hasRange: boolean; /** Sets both range boundaries. */ setRange: (range: TimelineRangeSelection) => TimelineCommandResult; /** Clears the range boundaries. */ clearRange: () => TimelineCommandResult; /** Deletes the selected range, closing the gap by default. */ deleteRange: (options?: { trackIds?: readonly string[]; ripple?: boolean; }) => TimelineCommandResult; /** Lifts the selected range while leaving the gap in place. */ liftRange: (options?: { trackIds?: readonly string[]; }) => TimelineCommandResult; } /** * Adapts timeline In/Out points to command-layer range selection. * * The hook treats a complete In/Out pair as the selected edit range and delegates * range mutations to `useTimelineEditCommands`. * * @returns Range selection state and range edit commands. */ declare function useTimelineRangeSelection(): UseTimelineRangeSelectionResult; //#endregion export { TimelineRangeSelection, UseTimelineRangeSelectionResult, useTimelineRangeSelection }; //# sourceMappingURL=useTimelineRangeSelection.d.mts.map