import { Defined, Compare, nat } from "../index.js"; import { RedBlackTree } from "./RedBlackTree.js"; export interface RedBlackSet extends Iterable { order: Compare; tree: RedBlackTree; size: nat; has(elem: E): boolean; findEqual(elem: E): E | undefined; insert(...elems: E[]): RedBlackSet; insertMultiple(elems: Iterable): RedBlackSet; delete(...elems: E[]): RedBlackSet; deleteMultiple(elems: Iterable): RedBlackSet; minimum(): E | undefined; maximum(): E | undefined; union(other: RedBlackSet): RedBlackSet; difference(other: RedBlackSet): RedBlackSet; intersection(other: RedBlackSet): RedBlackSet; filter(predicate: (elem: E) => boolean): RedBlackSet; } export declare function RedBlackSet(order: Compare, elems?: Iterable): RedBlackSet;