import type { Comparator } from "./ord.js"; export declare function array(count: number, factory: (index: number) => R): R[]; export declare function some(data: T | T[], predicate: (item: T) => boolean): boolean; export declare function unique(items: Array): Array; export declare function union(larger: T[], smaller: T[]): T[]; export declare function intersection(a: T[], b: T[]): T[]; export declare function isArrayEmpty(arr: T[]): arr is []; export declare function createArrayComparator(compare: (a: T, b: T) => number): (a: T[], b: T[]) => number; export type Deduplicator = (data: T[]) => T[]; export interface DeduplicatorOptions { /** @default 12 */ threshold?: number; } export declare function createDeduplicator(compare: Comparator, { threshold }?: DeduplicatorOptions): Deduplicator; export type Intersector = (a: T[], b: T[]) => T[]; export declare function createIntersector(compare: Comparator): Intersector;