import { Optional } from './util'; export declare type Comparator = (a: T, b: T) => number; export declare class SortedArray implements Iterable { private readonly comparator; private ary; constructor(comparator: Comparator); [Symbol.iterator](): IterableIterator; add(item: T): void; delete(theItem: T): void; size(): number; private indexOf; } declare class ListItem { item: T; previous: Optional>; next: Optional>; constructor(item: T, previous: Optional>, next: Optional>); } declare class IteratorResultDone implements IteratorReturnResult { done: true; value: T; constructor(); } declare class ListIteratorResult implements IteratorYieldResult { value: T; done: false; constructor(value: T); } declare class ListIterator implements Iterator { private listHead; private current; constructor(listHead: Optional>); next(value?: any): ListIteratorResult | IteratorResultDone; } export declare class SortedList implements Iterable { private readonly comparator; private head; constructor(comparator: Comparator); [Symbol.iterator](): ListIterator; add(newItem: T): boolean; delete(item: T): boolean; isEmpty(): boolean; size(): number; private findNode; } export {};