import type { ToList } from "./ToList"; import type { Arg0, Fn } from "../HKT"; type _ExcludeEmptyObjectFromTuple = AS extends readonly [infer Head, ...infer Tail] ? {} extends Head ? _ExcludeEmptyObjectFromTuple : readonly [Head, ..._ExcludeEmptyObjectFromTuple] : readonly []; export type ExcludeEmptyObject = _ExcludeEmptyObjectFromTuple>[number]; export default interface ExcludeEmptyObjectFn extends Fn<[unknown], unknown> { def: () => ExcludeEmptyObject>; }