import { Optional } from './common'; export declare const head: (array: T[]) => Optional; export declare const last: (array: T[]) => Optional; export declare const tail: (array?: T[]) => T[]; export declare const isArray: (array: T | T[]) => array is T[]; export declare const cutHead: ([head, ...tail]: T[]) => { head: T; tail: T[]; }; export declare const length: (arr: T[]) => number; export declare const isEmpty: (array: T[]) => boolean; export declare const toArray: (value: T | T[]) => T[]; export declare type Remove = { (remove: T, from: T[]): T[]; (remove: T): (from: T[]) => T[]; }; export declare const remove: Remove; export declare type Concat = { (a: A, b: B): A; (a: A): (b: B) => A; }; export declare const concat: Concat; export declare const prepend: (value: any, array: T[]) => T[]; export declare type Find = { (func: (bit: T) => boolean, array: T[]): Optional; (func: (bit: T) => boolean): (array: T[]) => Optional; }; export declare const find: Find; export declare type Filter = { (func: (a: T, index: number) => boolean, over: T[]): T[]; (func: (a: T, index: number) => boolean): (over: T[]) => T[]; }; export declare const filter: Filter; export declare type Map = { (func: (a: T, index: number) => R, over: T[]): R[]; (func: (a: T, index: number) => R): (over: T[]) => R[]; }; export declare const map: Map;