import { StringKeys } from "./types";
export declare type SimpleElement = number | string;
/**
 * Ensure unique keys among input array
 *
 *
 * @static
 * @template T
 * @param {T[]} input
 * @param {keyof T} key
 * @returns {T[]}
 * @memberof Arr
 */
export declare function unique<T extends object>(input: T[], key: StringKeys<T>): T[];
/**
 * Ensure unique elements among input array
 *
 * @static
 * @template T
 * @param {T[]} input
 * @returns {T[]}
 * @memberof Arr
 */
export declare function unique<T extends SimpleElement>(input: T[]): T[];
export declare function filterMap<I, T>(arr: I[], f: (item: I, index: number, arr: I[]) => T | false): T[];
export declare const create: <T = number>(length: number, factory?: ((index: number) => T) | undefined) => T[];
export declare const filterNullsy: <T>(items: (T | null | undefined)[]) => T[];
