export type Serialized<Value> = Value extends symbol | bigint | (() => any) ? never : Value extends number | string | boolean | undefined ? Value : Value extends JSONEncodable<infer JSONResult> ? JSONResult : Value extends ReadonlyArray<infer ItemType> ? Serialized<ItemType>[] : Value extends ReadonlyMap<unknown, unknown> | ReadonlySet<unknown> ? {} : { [K in keyof Value]: Serialized<Value[K]> };