import { type Optionalize } from "https://deno.land/x/oasis@2.1.0/tests/deps.ts";
definition: T extends Collection<any, any> ? T : T extends unknown[] ? T[number] extends Record<any, any> ? Array<Optionalize<T[number]>> : T : T extends object ? Id<[K in KeysWithUndefined<T>]?: T[K] extends Collection<any, any> ? T[K] : Optionalize<T[K]> & [K in Exclude<keyof T, KeysWithUndefined<T>>]: T[K] extends object ? { } extends Pick<T[K], keyof T[K]> ? T[K] : T[K] extends Collection<any, any> ? T[K] : T[K] extends unknown[] ? T[K] : Optionalize<T[K]> : T[K]> : T
definition: T extends Collection<any, any> ? T : T extends unknown[] ? T[number] extends Record<any, any> ? Array<Optionalize<T[number]>> : T : T extends object ? Id<[K in KeysWithUndefined<T>]?: T[K] extends Collection<any, any> ? T[K] : Optionalize<T[K]> & [K in Exclude<keyof T, KeysWithUndefined<T>>]: T[K] extends object ? { } extends Pick<T[K], keyof T[K]> ? T[K] : T[K] extends Collection<any, any> ? T[K] : T[K] extends unknown[] ? T[K] : Optionalize<T[K]> : T[K]> : T