// Type definitions for bintrees 1.0.1 // Project: https://github.com/vadimg/js_bintrees // Definitions by: Cayle Sharrock // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped declare module 'bintrees' { type Callback = (item: T) => void; type Comparator = (a: T, b: T) => number; class Iterator { constructor(tree: TreeBase); data(): T; next(): T; prev(): T; } class TreeBase { size: number; clear(): void; find(data: T): T; findIter(data: T): Iterator; lowerBound(item: T): Iterator; upperBound(item: T): Iterator; min(): T; max(): T; iterator(): Iterator; each(cb: Callback): void; reach(cb: Callback): void; } export class RBTree extends TreeBase { constructor(comparator: Comparator); insert(item: T): boolean; remove(item: T): boolean; } export class BinTree extends TreeBase { constructor(comparator: Comparator); insert(item: T): boolean; remove(item: T): boolean; } }