import { IQueryable } from '../linq/IQuerable';
import { ICollection } from './ICollection';
import { IList } from './IList';
import { IEnumerable } from '../core/IEnumerable';
import { Comparator } from '../core/index';
import { IParallelQueryable } from '../linq/IParallelQueryable';
import { ISortedCollection } from './ISortedCollection';
export declare class SortedCollection<T> implements ISortedCollection<T> {
    private comparator;
    private arr;
    constructor(comparator: Comparator<T, T>, enumerable?: IEnumerable<T> | Iterable<T>);
    add(...items: T[]): void;
    remove(item: T): boolean;
    clear(): boolean;
    contains(item: T): boolean;
    get size(): number;
    get(index: number): T;
    indexOf(item: T): number;
    lastIndexOf(item: T): number;
    join(seperator?: string): any;
    toArray(): T[];
    toCollection(): ICollection<T>;
    toList(): IList<T>;
    linq(): IQueryable<T>;
    plinq(): IParallelQueryable<T>;
    [Symbol.iterator](): Iterator<T>;
    clone(): ISortedCollection<T>;
    toSet(): Set<T>;
    isEmpty(): boolean;
}
