export type Key = string | number | symbol; export type ValueOf = T[keyof T]; export type PickType = { [K in keyof T as T[K] extends U ? K : never]: T[K]; }; export type Falsy = false | 0 | '' | null | undefined; export type Truthy = T extends Falsy ? never : T; export type PartialRecord = { [P in K]?: T; }; export declare const values: (obj: Record) => T[]; export declare const keys: (obj: Record) => T[]; export declare const isObject: (v: unknown) => v is object; export declare const isNullish: (v: unknown) => v is null | undefined; export declare const oLength: (obj: object) => number; export declare const oForEach: (object: Record, f: (keyValue: [TKey, TValue], index: number) => void) => void; export declare const oForEachK: (object: Record, f: (key: T, index: number) => void) => void; export declare const oForEachV: (object: Record, f: (value: T, index: number) => void) => void; export declare const oMap: (object: Record, f: (keyValue: [TKey, TValue], index: number) => K) => K[]; export declare const oReduce: (object: Record, f: (acc: Acc, cur: [TKey, TValue], index: number, arr: Array<[TKey, TValue]>) => Return, int: Acc) => Return; export declare const oMapO: (object: Record, f: (keyValue: [TKey, TValue], index: number) => [K, U]) => Record; export declare const aToO: (array: T[], f: (item: T, index: number) => [K, U]) => Record; export declare const partition: (array: T[], f: (cur: T, index: number) => unknown) => [T[], T[]]; export declare const shake: (object: Record) => Record; export declare const range: (num: number) => number[]; export declare const times: (i: number, f: (index: number) => void) => void; export declare const unique: (array: T[]) => T[]; export declare const arrayed: (v: T | T[]) => T[]; export declare const firstEntry: (object: Record) => [TKey, TValue]; export declare const pick: >(obj: T, picker: (k: keyof T, v: ValueOf) => v is K) => PickType; export declare const random: (min?: number, max?: number) => number;