import TreeContainer from './Base'; import TreeIterator from './Base/TreeIterator'; import { initContainer } from "../ContainerBase"; export declare class OrderedSetIterator extends TreeIterator { get pointer(): K; copy(): OrderedSetIterator; } declare class OrderedSet extends TreeContainer { /** * @param container The initialization container. * @param cmp The compare function. * @param enableIndex Whether to enable iterator indexing function. */ constructor(container?: initContainer, cmp?: (x: K, y: K) => number, enableIndex?: boolean); 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;