import type { Comparator } from '../types.js'; import { Array2 } from './array2.js'; export interface SortedArrayOptions { /** * Defaults to undefined. * Undefined (default comparator) works well for String keys. * For Number keys - use comparators.numericAsc (or desc), * otherwise sorting will be wrong (lexicographic). */ comparator?: Comparator; } /** * Like Array, but keeps values sorted after every insertion. */ export declare class SortedArray extends Array2 { #private; constructor(values?: Iterable, opt?: SortedArrayOptions); push(...values: T[]): number; unshift(...values: T[]): number; splice(start: number, deleteCount?: number, ...items: T[]): T[]; static get [Symbol.species](): ArrayConstructor; get [Symbol.toStringTag](): string; private resort; } export declare class SortedStringArray extends SortedArray { constructor(values?: Iterable); get [Symbol.toStringTag](): string; } export declare class SortedNumberArray extends SortedArray { constructor(values?: Iterable); get [Symbol.toStringTag](): string; }