export type RequiredRecursively = Exclude< T extends string | number | boolean | Function | RegExp ? T : { [P in keyof T]-?: T[P] extends Array ? Array> : T[P] extends Array ? Array> : RequiredRecursively; }, null | undefined >;