export declare const emptyArray: () => T[]; export declare const createArray: (length: number, createItem: (index: number) => T) => T[]; export declare const firstItem: (array: ArrayLike) => T | undefined; export declare const lastItem: (array: ArrayLike) => T | undefined; export declare const arrayEqual: (arrayA: T[], arrayB: T[]) => boolean; export declare function createArrayEqual(equal: (a: T, b: T) => boolean): (arrayA: T[], arrayB: T[]) => boolean; export declare const deDupe: (array: T[]) => T[]; export declare function createDeDupe(equal: (a: T, b: T) => boolean): (array: T[]) => T[]; export declare const deDupe2D: (array: T[][]) => T[][]; export declare const arrayMatch: (arrayA: T[], arrayB: T[]) => boolean; export declare const isArray2D: (value: unknown) => value is any[][]; export declare const ensureArray: (value: T | T[]) => T[]; export declare const ensureArray2D: (value: T[] | T[][]) => T[][]; declare enum Condition { Smaller = -1, Unlimited = 0, Bigger = 1 } export declare const closestItem: (arr: number[], num: number, condition?: Condition) => number; export {};