export declare class SortedArray<T> {
    private root;
    private readonly comparator;
    private readonly unique;
    constructor(comparator: (a: T, b: T) => number, unique?: boolean);
    push(...items: T[]): number;
    get(index: number): T | undefined;
    clear(): void;
    firstIndexOf(data: T): number;
    lastIndexOf(data: T): number;
    count(data: T): number;
    includes(data: T): boolean;
    delete(value: T): boolean;
    toArray(): T[];
    shift(): T | undefined;
    pop(): T | undefined;
    min(): T | undefined;
    max(): T | undefined;
    get length(): number;
    private _min;
    private _max;
    private find;
    private findIndex;
    private height;
    private _size;
    private _insert;
    private getBalance;
    private rightRotate;
    private leftRotate;
    private _delete;
    private _toArray;
}
