//#region src/gui/timeline/timelineEditingContext.d.ts
type TimelineEditingState = {
  mode: "idle";
} | {
  mode: "scrubbing";
  startTimeMs: number;
} | {
  mode: "trimming";
  elementId: string;
  handle: "start" | "end";
} | {
  mode: "dragging";
  elementIds: string[];
  startPositions: Map<string, number>;
} | {
  mode: "selecting";
  box: DOMRect;
};
interface TimelineEditingContext {
  state: TimelineEditingState;
  setState: (state: TimelineEditingState) => void;
  /**
   * Returns true if any editing operation is in progress (not idle).
   */
  isEditing: () => boolean;
  /**
   * Returns true if hover and other passive interactions should be allowed.
   * False when an active editing operation would be disrupted by hover feedback.
   */
  canInteract: () => boolean;
}
//#endregion
export { TimelineEditingContext };
//# sourceMappingURL=timelineEditingContext.d.ts.map