import TreeContainer from './Base/index'; import { initContainer } from "../ContainerBase/index"; import TreeIterator from './Base/TreeIterator'; export declare class OrderedSetIterator extends TreeIterator { get pointer(): K; copy(): OrderedSetIterator; } declare class OrderedSet extends TreeContainer { constructor(container?: initContainer, cmp?: (x: K, y: K) => number); private readonly iterationFunc; begin(): OrderedSetIterator; end(): OrderedSetIterator; rBegin(): OrderedSetIterator; rEnd(): OrderedSetIterator; front(): K | undefined; back(): K | undefined; forEach(callback: (element: K, index: number) => void): void; getElementByPos(pos: number): K; /** * @description Insert element to set. * @param key The key want to insert. * @param hint You can give an iterator hint to improve insertion efficiency. */ insert(key: K, hint?: OrderedSetIterator): void; find(element: K): OrderedSetIterator; lowerBound(key: K): OrderedSetIterator; upperBound(key: K): OrderedSetIterator; reverseLowerBound(key: K): OrderedSetIterator; reverseUpperBound(key: K): OrderedSetIterator; union(other: OrderedSet): void; [Symbol.iterator](): Generator; } export default OrderedSet;