// 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://wicg.github.io/scroll-animations/)

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

enum ScrollTimelineAutoKeyword { "auto" };

dictionary ScrollTimelineOptions {
  Element? scrollSource = null;
  ScrollDirection orientation = "block";
  DOMString startScrollOffset = "auto";
  DOMString endScrollOffset = "auto";
  (double or ScrollTimelineAutoKeyword) timeRange = "auto";
  FillMode fill = "none";
};

[Exposed=Window,
 Constructor(optional ScrollTimelineOptions options = {})]
interface ScrollTimeline : AnimationTimeline {
  readonly attribute Element scrollSource;
  readonly attribute ScrollDirection orientation;
  readonly attribute DOMString startScrollOffset;
  readonly attribute DOMString endScrollOffset;
  readonly attribute (double or ScrollTimelineAutoKeyword) timeRange;
  readonly attribute FillMode fill;
};
