its defined as an PropertyDeclaration[], but shouldn't it be more like
{
[name:string]:PropertyDeclaration
}
and then the getter on the baseclass (e.g. de default value) should be an empty object instead of an empty array...
or am I missing something?