import { AnyArgs } from "./internal_types" type Falsey = false | 0 | '' | null | undefined | 0n export type Cond = (x1?: any, x2?: any, x3?: any) => boolean export interface AnyObject extends Record {} export type Reducer = (accum: T, cur: any, index: number) => T export type AnyFunc = (...args: Args) => ReturnT export type Curried = (arg: Args[number]) => Curried | ReturnT export type Composed = (...xs: TIn) => TOut export type Inverse = T extends Falsey ? true : false export type PathValue = Keys extends [infer K, ...infer Rest] ? K extends keyof O ? Rest extends PropertyKey[] ? PathValue : Default : Default : O