[
Constructor(STRING hello, TEST_CALLBACK testCallback),
] interface TestTypedefs {
attribute ULONGLONG unsignedLongLongAttr;
[Immutable] attribute SCRIPT_VALUE immutableSerializedScriptValue;
static readonly attribute T TestSubObj;
[StrictTypeChecking] void func(optional ARRAY_OF_LONGS x);
void setShadow(DOUBLE width, DOUBLE height, unrestricted float blur, [StrictTypeChecking] optional STRING color, optional DOUBLE alpha);
ULONGLONG methodWithSequenceArg(sequence<SCRIPT_VALUE> sequenceArg);
void nullableArrayArg(ARRAY_OF_STRINGS? arrayArg);
void funcWithClamp(ULONGLONG_CLAMP arg1, optional ULONGLONG_CLAMP arg2);
[Immutable] SVGPOINT immutablePointFunction();
[RaisesException] ARRAY_OF_STRINGS stringArrayFunction(ARRAY_OF_STRINGS values);
[RaisesException] STRING[] stringArrayFunction2(STRING[] values);
boolean callWithSequenceThatRequiresInclude(sequence<TestEventTarget> sequenceArg);
[RaisesException] void methodWithException();
[GetterRaisesException] attribute long attrWithGetterException;
[SetterRaisesException] attribute long attrWithSetterException;
[GetterRaisesException] attribute DOMString stringAttrWithGetterException;
[SetterRaisesException] attribute DOMString stringAttrWithSetterException;
};
typedef unrestricted float DOUBLE;
typedef unsigned long long ULONGLONG;
typedef [Clamp] unsigned long long ULONGLONG_CLAMP;
typedef SerializedScriptValue SCRIPT_VALUE;
typedef long[] ARRAY_OF_LONGS;
typedef SVGPoint SVGPOINT;
typedef DOMString STRING;
typedef DOMString[] ARRAY_OF_STRINGS;
typedef TestCallback TEST_CALLBACK;
typedef TestSubObjConstructor T;
typedef Int32Array ARRAY;
typedef DOMException E;
typedef TestEventTarget TEST_EVENT_TARGET;