/** * A function that performs an operation on an input **value** but returns nothing. */ export declare type Action = (value: T) => void; /** * A function with no parameters that returns nothing. */ export declare type Block = () => void; /** * A function used in sorting algorithms to determine the sort order. */ export declare type Comparator = (value: T, other: T) => number; /** * A function that returns a truthy or falsy value given two input values. Commonly used as an equality predicate. */ export declare type PairPredicate = (value: T, other: T) => any; /** * A function used to match or not match a given input value by returning a truthy of falsy value. */ export declare type Predicate = (value: T) => any; /** * A function with no parameters that returns a single value. */ export declare type Producer = () => T; /** * A function that maps an input **value** to a return value. */ export declare type Transform = (value: I) => O; /** * An object with values of a given type. */ export declare type Dictionary = { [key: string]: T; }; /** * A type with random access. Includes arrays and strings. */ export declare type Positional = ArrayLike & Iterable & (T[] | string); /** * An iterable object. */ export declare type Sequence = Iterable; /** * A generator-type object. */ export declare type SequenceIterator = IterableIterator; /** * A value that is considered falsy in a boolean context. */ export declare type Falsy = undefined | null | false | 0 | ""; /** * A primitive object. */ export declare type Primitive = undefined | null | boolean | number | string | Symbol;