// GENERATED CONTENT - DO NOT EDIT
// Content was automatically extracted by Reffy into reffy-reports
// (https://github.com/tidoust/reffy-reports)
// Source: Scroll-linked Animations (https://drafts.csswg.org/scroll-animations-1/)

enum ScrollDirection {
  "block",
  "inline",
  "horizontal",
  "vertical"
};

enum ScrollTimelineAutoKeyword { "auto" };

dictionary ScrollTimelineOptions {
  Element? source = null;
  ScrollDirection orientation = "block";
  DOMString start = "auto";
  DOMString end = "auto";
  (double or ScrollTimelineAutoKeyword) timeRange = "auto";
};

[Exposed=Window]
interface ScrollTimeline : AnimationTimeline {
  constructor(optional ScrollTimelineOptions options = {});
  readonly attribute Element source;
  readonly attribute ScrollDirection orientation;
  readonly attribute DOMString start;
  readonly attribute DOMString end;
  readonly attribute (double or ScrollTimelineAutoKeyword) timeRange;
};
