#import <CSS/CSSUnitValue.idl>
#import <CSS/GeneratedCSSNumericFactoryMethods.idl>

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

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

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

    // https://www.w3.org/TR/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
};
