import React from "react"; import { TimelineEngine, TimelineInteractionGeometry, TimelineKeyframePropertyId, TimelineKeyframeTangentHandle, TimelineKeyframeTangentHandleHitTestResult } from "@techsquidtv/canvas-timeline-core"; //#region src/components/interactions/KeyframeTangentInteractionLayer.d.ts /** * Details passed to a Bezier tangent handle double-click or double-tap callback. */ interface KeyframeTangentHandleDoubleClickDetails { /** Timeline engine owning the keyframe. */ engine: TimelineEngine; /** Original pointer event. */ event: PointerEvent; } /** * Props for the delegated Bezier tangent interaction layer. */ interface KeyframeTangentInteractionLayerProps extends Omit, keyof TimelineInteractionGeometry>, TimelineInteractionGeometry { /** Keyframe property to render and hit-test. */ property: TimelineKeyframePropertyId; /** Only render tangent handles owned by selected clips. Defaults to true. */ selectedClipOnly?: boolean; /** Only render tangent handles touching selected keyframes. Defaults to true. */ selectedKeyframeOnly?: boolean; /** Extra pixels around the viewport included in visible segment queries. */ overscanPixels?: number; /** Keyframe affordance square size in CSS pixels. */ keyframeSize?: number; /** Bezier control handle square size in CSS pixels. */ tangentHandleSize?: number; /** * Invisible pointer padding in CSS pixels added around each Bezier handle. * * Presses inside the padded area target the tangent handle instead of falling * through to lower interaction layers such as the clip layer. Defaults to 8. */ hitPadding?: number; /** Vertical padding used when mapping keyframe values into a clip row. */ keyframeValuePadding?: number; /** Optional handler for double-click or double-tap gestures on tangent handles. */ onTangentHandleDoubleClick?: (handle: TimelineKeyframeTangentHandle, details: KeyframeTangentHandleDoubleClickDetails) => void; /** Optional accessible label formatter for a canvas-rendered tangent handle. */ getTangentHandleAriaLabel?: (handle: TimelineKeyframeTangentHandleHitTestResult) => string; } /** Delegated tangent editor with one pointer/focus target and keyboard control. */ declare const KeyframeTangentInteractionLayer: React.ForwardRefExoticComponent>; //#endregion export { KeyframeTangentHandleDoubleClickDetails, KeyframeTangentInteractionLayer, KeyframeTangentInteractionLayerProps }; //# sourceMappingURL=KeyframeTangentInteractionLayer.d.mts.map