import { TimelineCommandResult, TimelineKeyframeMutationOptions, TimelineKeyframePropertyId, TimelineKeyframeSegment, TimelineKeyframeSegmentGeometryOptions, TimelineKeyframeSide, TimelineKeyframeSideInterpolation, TimelineKeyframeTangentHandle, TimelineKeyframeTangentHandleHitTestResult, TimelineKeyframeTangentHitTestInput, TimelineUpdateClipKeyframeSideOptions, VisibleTimelineKeyframeSegment } from "@techsquidtv/canvas-timeline-core"; //#region src/hooks/keyframes/useTimelineKeyframeSegments.d.ts /** Options accepted by `useTimelineKeyframeSegments`. */ interface UseTimelineKeyframeSegmentsOptions extends TimelineKeyframeSegmentGeometryOptions { /** Keyframe property used to scope segment lists and commands. */ property: TimelineKeyframePropertyId; /** Optional clip id used to scope segment lists and commands. */ clipId?: string; } /** Input for updating one keyframe tangent side. */ interface TimelineKeyframeSideUpdateInput extends Omit { /** Side to update. */ side: TimelineKeyframeSide; } /** Result returned by `useTimelineKeyframeSegments`. */ interface UseTimelineKeyframeSegmentsResult { /** Keyframe segments in track order. */ segments: TimelineKeyframeSegment[]; /** Viewport-intersecting keyframe segments in track order. */ visibleSegments: VisibleTimelineKeyframeSegment[]; /** Bezier tangent handles from all `segments`. */ tangentHandles: TimelineKeyframeTangentHandle[]; /** Bezier tangent handles from all `visibleSegments`. */ visibleTangentHandles: TimelineKeyframeTangentHandle[]; /** Hit-tests one viewport point against visible Bezier tangent handles. */ getTangentHandleAtPoint: (input: TimelineKeyframeTangentHitTestInput) => TimelineKeyframeTangentHandleHitTestResult | null; /** Updates one keyframe side interpolation. */ updateKeyframeSide: (input: TimelineKeyframeSideUpdateInput, options?: TimelineKeyframeMutationOptions) => TimelineCommandResult; } /** * Reads timeline keyframe segment geometry and exposes side-aware tangent commands. * * @param options - Clip/property filters and renderer-aligned geometry settings. */ declare function useTimelineKeyframeSegments(options: UseTimelineKeyframeSegmentsOptions): UseTimelineKeyframeSegmentsResult; //#endregion export { TimelineKeyframeSideUpdateInput, UseTimelineKeyframeSegmentsOptions, UseTimelineKeyframeSegmentsResult, useTimelineKeyframeSegments }; //# sourceMappingURL=useTimelineKeyframeSegments.d.mts.map