type ChainedFunction = (input: T) => T; export function chain(fns: ChainedFunction[]): T; export function equality(a: T, b: T): boolean; export function match>(props: T): (item: T) => boolean; export function not(value: T): (value: T) => boolean; export function not(values: T[]): (value: T) => boolean; export function not(...values: T[]): (value: T) => boolean; export function nub(values: T[]): T[]; export function pluck(propertyName: string): unknown; export function pluck(...properties: string[]): Record; export function range(start: number): (end: number) => number[]; export function range(start: number, end: number): number[]; export function sum(a: T, b: T): T; export function sum(a: T[]): T; export function times(count: number): number[]; export function within(items: T[]): (testItem: T) => boolean; export function zip(...sources: unknown[][]): (value: unknown) => unknown[];