export declare const range: (end: number, start?: number) => number[]; export declare const to: (fn: (items: A[]) => T) => (sum: any, _item: A, index: number, all: A[]) => T; export declare const constant: (value: T) => () => T; export declare const identity: (x: T) => T; export declare const toIndexedObject: (fn: (item: T, index: number) => [string, V]) => (sum: R, item: T, index: number) => R; export declare const mapToIndexedObject: (fn: (item: T, index: number) => [string, V], items: T[], initial?: R) => R; export declare const pairsToIndexedObject: (sum: R, [key, value]: [string, V]) => R; declare global { interface Array { chain_(fn: (arr: Array) => U): U; } } export declare type Validation = { success: true; value: S; } | { success: false; error: E; }; export declare const successfulValidation: (value: S) => Validation; export declare const failedValidation: (error: E) => Validation; export declare const take: (count: number, arr: T[]) => T[]; export declare const drop: (count: number, arr: T[]) => T[]; //# sourceMappingURL=util.d.ts.map