export declare type Comparator = (_: A) => Predicate; export declare type ComparatorProducer = (_: Comparator) => Comparator; export declare type Predicate = (_: A) => boolean; export declare type PredicateProducer = (_: Predicate) => Predicate; export interface UntypedObjectCollection { [prop: string]: any | undefined; } export interface ObjectCollection { [prop: string]: T; } export interface ObjectMap { [prop: string]: T; } export declare type ObjectSet = UntypedObjectCollection; export declare type Pair = [A, A]; export declare type Either = [T1, undefined] | [undefined, T2]; export declare type NestedArray = Array>; export declare type ArrayList = Array; export declare type ArraySet = Array; export declare type ObjectStruct = Object;