// GENERATED CONTENT - DO NOT EDIT
// Content was automatically extracted by Reffy into reffy-reports
// (https://github.com/tidoust/reffy-reports)
// Source: Constructable Stylesheet Objects (https://wicg.github.io/construct-stylesheets/)

partial interface CSSStyleSheet {
  constructor(optional CSSStyleSheetInit options = {});
  Promise<CSSStyleSheet> replace(USVString text);
  void replaceSync(USVString text);
};

dictionary CSSStyleSheetInit {
  (MediaList or DOMString) media = "";
  DOMString title = "";
  boolean alternate = false;
  boolean disabled = false;
};

partial interface mixin DocumentOrShadowRoot {
  attribute FrozenArray<CSSStyleSheet> adoptedStyleSheets;
};
