I want a type, that accept none or one of two properties but reject both of them. How to build that?
interface I{
...
}
let a:I={} //accept empty
let b:I={f1:true} // accept only f1
let c:I={f2:true} // accept only f2
let d:I={f1:true,f2:true}//reject both of f1 and f2