AttributeObservables<A, N>:{ [K in keyof A as string extends K ? never : K extends string ? A[K] extends { optional: true; } ? never : `${K}$${N}` : never]: ClusterEvents.AttributeObservable<A[K]> } & { [K in keyof A as string extends K ? never : K extends string ? A[K] extends { optional: true; } ? `${K}$${N}` : never : never]?: ClusterEvents.AttributeObservable<A[K]> }