import type { NumberArray } from "../types/NumberArray"; export declare function getUniqueValues(array: string[]): string[]; export declare function countUnique(iterable: string[]): number; export declare const areArraysEqual: (leftArray: number[], rightArray: number[]) => boolean; export declare function arrayRemove(array: T[], item: T): T[]; /** * returns true if the array is sorted * @param arr The array * @param ascending If True checks for sorted ascending, if False for descending */ export declare function isArraySorted(arr: NumberArray, ascending?: boolean): boolean; /** * Helper method for generating an array of a given length, where the values are the indicies * An optional multiplier and map function can be applied. * @param length * @param multiplier * @param map * @returns */ export declare function makeIncArray(length: number, multiplier?: number, map?: (n: number, index?: number) => number): number[]; /** * Helper function to append an array to a target array, treating the target as a circular buffer * * BUG: TWO BRANCHES OF THIS FUNCTION ARE BROKEN, AND BOTH ARE REACHABLE ON A RELEASED PATH. * Recorded rather than fixed - see the two `BUG` markers in the body below. Fixing them changes * behaviour on a code path shared by every fifo series, so it needs its own task and its own test * matrix over both branches; do not fix one in passing. * * Reach: the live caller is `BaseDataSeries.appendMetadataRange` (BaseDataSeries.ts:1603), so this * backs POINT METADATA on every fifo series that carries it - metadata silently absent after an * over-capacity bulk append, and metadata paired with the wrong point in the other branch. It is * also public API (`src/index.ts:1559`), so a consumer can call it directly. * `XyTextDataSeries` used to be the other caller and no longer is; nothing else in `src/` calls it. * * `tests/utils/array.test.ts` holds two `it.skip` cases carrying the CORRECT expectations for both * faults. Un-skip them when this is fixed and they should pass as written. * * @param source * @param target * @param fifoCapacity * @param startIndex */ export declare function appendRangeFifo(source: any[], target: any[], fifoCapacity: number, startIndex: number): void;