import type { Cast } from './assertion.js'; type List = readonly any[]; export type ListOf = _ListOf extends infer X ? Cast : never; type _ListOf> = { 0: _ListOf, [LastU, ...LN]>; 1: LN; }[[U] extends [never] ? 1 : 0]; export type Last = IntersectOf< U extends unknown ? (x: U) => void : never > extends (x: infer P) => void ? P : never; export type IntersectOf = ( U extends unknown ? (k: U) => void : never ) extends (k: infer I) => void ? I : never; export {}; //# sourceMappingURL=union.d.ts.map