declare class ArrayHelper {
    first<TItem = any>(input: ReadonlyArray<TItem>): TItem;
    firstOrDefault<TItem = any>(input: ReadonlyArray<TItem>, defaultValueFactoryFn: () => TItem): TItem;
    last<TItem = any>(input: ReadonlyArray<TItem>): TItem;
    lastOrDefault<TItem = any>(input: ReadonlyArray<TItem>, defaultValueFactoryFn: () => TItem): TItem;
    toSet<TItem = any>(input: ReadonlyArray<TItem>): Set<TItem>;
    mapFirst<TInputItem, TResultItem>(input: ReadonlyArray<TInputItem>, mapperFn: (item: TInputItem) => TResultItem): TResultItem;
    minimum<TItem = any>(input: ReadonlyArray<TItem>): TItem;
    maximum<TItem = any>(input: ReadonlyArray<TItem>): TItem;
    extractMinimum<TInputItem, TExtractedItem>(input: ReadonlyArray<TInputItem>, extractorFn: (item: TInputItem) => TExtractedItem): TExtractedItem;
    extractMaximum<TInputItem, TExtractedItem>(input: ReadonlyArray<TInputItem>, extractorFn: (item: TInputItem) => TExtractedItem): TExtractedItem;
    equivalent<TItem, TPrimitive>(input: ReadonlyArray<TItem>, other: ReadonlyArray<TItem>, toPrimitiveFn?: (item: TItem) => TPrimitive): boolean;
    removeDuplicates<TItem = any, TPrimitive = TItem>(input: ReadonlyArray<TItem>, toPrimitiveFn?: (item: TItem) => TPrimitive): TItem[];
    private countMembers;
}
export { ArrayHelper };
