export type BaseFrame = Payload extends Array ? { [K in keyof Payload]?: Payload[K] extends Record ? BaseFrame | boolean : boolean; } : Payload extends Record ? { [K in keyof Payload]?: Payload[K] extends Array ? BaseFrame | boolean : Payload[K] extends Record ? (ExtraProperties & BaseFrame) | boolean : boolean; } & ExtraProperties & Record : boolean;