import type { PlainObject } from './values'; export type ValueOf | PlainObject> = T extends Array ? T[number] : T[keyof T]; export type Entries | PlainObject> = ValueOf<{ [K in keyof T]-?: [K, T[K]]; }>[]; export type NestedObjectOrArray = Array | T> | { [key: string]: NestedObjectOrArray | T; };