EventObservables<E>:{ [K in keyof E as string extends K ? never : K extends string ? E[K] extends { optional: true; } ? never : K : never]: ClusterEvents.EventObservable<E[K]> } & { [K in keyof E as string extends K ? never : K extends string ? E[K] extends { optional: true; } ? K : never : never]?: ClusterEvents.EventObservable<E[K]> }