// https://drafts.csswg.org/cssom-1/#cssomstring
typedef DOMString CSSOMString;

dictionary PropertyDefinition {
    required CSSOMString name;
    CSSOMString syntax = "*";
    required boolean inherits;
    CSSOMString initialValue;
};

// https://drafts.csswg.org/cssom-1/#namespacedef-css
[Exposed=Window]
namespace CSS {
    CSSOMString escape(CSSOMString ident);

    boolean supports(CSSOMString property, CSSOMString value);
    boolean supports(CSSOMString conditionText);

    // https://drafts.css-houdini.org/css-properties-values-api-1/#dom-css-registerproperty
    undefined registerProperty(PropertyDefinition definition);
    
    // https://drafts.css-houdini.org/css-typed-om-1/#numeric-factory
    // NB: Generated by GenerateCSSNumericFactoryMethods.cpp
};
