[{
"namespace":"test.foo",
"types": [
{
"id": "TestType",
"type": "object",
"customBindings": "TestType",
"properties": {
"foo": {"$ref": "OtherType"},
"bar": {"$ref": "fully.qualified.Type"}
}
}
],
"functions": [
{
"name": "doFoo",
"type": "function",
"parameters": [ { "name": "t", "$ref": "TestType" } ],
"returns": { "$ref": "fully.qualified.Type" }
},
{
"name": "doBar",
"type": "function",
"parameters": [ { "name": "t", "$ref": "fully.qualified.Type" } ],
"returns": { "$ref": "TestType" }
}
],
"events": [
{
"name": "onFoo",
"type": "function",
"parameters": [
{ "name": "t1", "$ref": "TestType" },
{ "name": "t2", "$ref": "fully.qualified.Type" }
]
}
]
}]