import { TimelineClipGeometryOptions, TimelineClipRect } from "@techsquidtv/canvas-timeline-core"; //#region src/hooks/clips/useTimelineClipRects.d.ts /** * Options accepted by `useTimelineClipRects`. * * @remarks * * Pass the same ruler, track-height, and edge-threshold values used by your * renderer or interaction layer so DOM overlays line up with canvas-painted * clips. Leave options empty when using the default package geometry. * * @see {@link https://canvastimeline.com/docs/renderer-customization | Canvas renderer customization} */ type UseTimelineClipRectsOptions = TimelineClipGeometryOptions; /** * Returns viewport-space geometry for every timeline clip. * * @remarks * * The hook subscribes to geometry-affecting timeline events and intentionally * does not subscribe to playhead-only updates. Use it for low-count DOM * overlays such as selected clip outlines, inline labels, or inspector hit * targets. For large custom renderers, prefer {@link useTimelineVisibleClips} * so offscreen clips are clipped or skipped. * * @param options - Optional ruler and track metrics aligned with the renderer. * @returns Clip entries with viewport rectangles and edit/display state. * * @example * ```tsx * import { useTimelineClipRects } from '@techsquidtv/canvas-timeline-react'; * * export function SelectedClipBadges() { * const rects = useTimelineClipRects(); * * return rects * .filter((entry) => entry.selected) * .map((entry) => ( * * {entry.clip.label ?? entry.clip.id} * * )); * } * ``` * * @see {@link useTimelineVisibleClips} * @see {@link https://canvastimeline.com/docs/react-hooks | React editor hooks} */ declare function useTimelineClipRects(options?: UseTimelineClipRectsOptions): TimelineClipRect[]; //#endregion export { UseTimelineClipRectsOptions, useTimelineClipRects }; //# sourceMappingURL=useTimelineClipRects.d.mts.map