import { IEnumerable } from '../core/IEnumerable';
import { Comparator } from '../core/index';
import { IParallelQueryable } from '../linq/IParallelQueryable';
import { IQueryable } from '../linq/IQuerable';
import { ICollection, IList } from './index';
import { ISortedSet } from './ISortedSet';
export declare class SortedSet<T> implements ISortedSet<T> {
    private comparator;
    private arr;
    constructor(comparator: Comparator<T, T>, enumerable?: IEnumerable<T> | Iterable<T>);
    [Symbol.toStringTag]: 'SortedSet';
    [Symbol.iterator](): IterableIterator<T>;
    isEmpty(): boolean;
    toSet(): Set<T>;
    add(value: T): ISortedSet<T>;
    clear(): void;
    get(index: number): T;
    delete(value: T): boolean;
    forEach(callbackfn: (value: T, value2: number, set: SortedSet<T>) => void, thisArg?: any): void;
    has(value: T): boolean;
    get size(): number;
    linq(): IQueryable<T>;
    plinq(): IParallelQueryable<T>;
    indexOf(item: T): number;
    lastIndexOf(item: T): number;
    toArray(): T[];
    toCollection(): ICollection<T>;
    toList(): IList<T>;
    clone(): ISortedSet<T>;
}
