/* propertyTypeReplacements */

[Entity=Interface]
interface Resource {
    [Optional]
    attribute sequence<String> params;
};

[Entity=Interface]
interface RectOptions {
    [Optional]
    attribute (number or String or sequence<(number or String)>) radius;
};

[Entity=Interface]
interface PluginComponentOptions {
    attribute String data;
};

[Entity=Interface]
interface SliderBlockStyle {
    [Optional]
    attribute String shape;
};

[Entity=Interface]
interface AlertDialogParam {
    [Optional]
    attribute TextStyle_alert_dialog textStyle;
};

[Entity=Interface]
interface BorderImageOption {
    [Optional]
    attribute (String or Resource or LinearGradient_common) source;
};

[Synthetic, Entity=Tuple]
interface AnimationRange_Number {
    attribute number value0;
    attribute number value1;
};

[Entity=Interface]
interface ContextMenuAnimationOptions {
    [Optional]
    attribute AnimationRange_Number scale;
    [Optional]
    attribute AnimationRange_Number hoverScale;
};

/* parameterTypeReplacements */


[Entity=Class]
interface CanvasRenderingContext2D: CanvasRenderer {
    String toDataURL(optional String type, optional f32 quality);
};

[Entity=Class]
interface OffscreenCanvasRenderingContext2D: CanvasRenderer {
    String toDataURL(optional String type, optional f32 quality);
};

[Entity=Class]
interface <T> CommonShapeMethod: CommonMethod<T> {
    T strokeDashArray(sequence<Length> value);
};

[Synthetic]
callback Dummy_Callback = void ();

[Entity=Class]
interface <Args> WrappedBuilder {
    constructor(Dummy_Callback builder);
    attribute Dummy_Callback builder;
};

/////////

typedef StyledStringValue = (TextStyle_styled_string or DecorationStyle or BaselineOffsetStyle or LetterSpacingStyle or TextShadowStyle or GestureStyle or ImageAttachment or ParagraphStyle or LineHeightStyle or UrlStyle or CustomSpan or UserDataSpan or BackgroundColorStyle);