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