import TreeContainer from './Base'; import TreeIterator from './Base/TreeIterator'; import { initContainer } from "../ContainerBase"; export declare class OrderedMapIterator extends TreeIterator { get pointer(): [K, V]; copy(): OrderedMapIterator; } declare class OrderedMap extends TreeContainer { /** * @param container The initialization container. * @param cmp The compare function. * @param enableIndex Whether to enable iterator indexing function. */ constructor(container?: initContainer<[K, V]>, cmp?: (x: K, y: K) => number, enableIndex?: boolean); begin(): OrderedMapIterator; end(): OrderedMapIterator; rBegin(): OrderedMapIterator; rEnd(): OrderedMapIterator; front(): [K, V] | undefined; back(): [K, V] | undefined; forEach(callback: (element: [K, V], index: number) => void): void; lowerBound(_key: K): OrderedMapIterator; upperBound(_key: K): OrderedMapIterator; reverseLowerBound(_key: K): OrderedMapIterator; reverseUpperBound(_key: K): OrderedMapIterator; /** * @description Insert a _key-_value pair or set _value by the given _key. * @param _key The _key want to insert. * @param _value The _value want to set. * @param hint You can give an iterator hint to improve insertion efficiency. */ setElement(_key: K, _value: V, hint?: OrderedMapIterator): void; find(_key: K): OrderedMapIterator; /** * @description Get the _value of the element of the specified _key. */ getElementByKey(_key: K): V | undefined; getElementByPos(pos: number): [K, V]; union(other: OrderedMap): void; [Symbol.iterator](): Generator<[K, V], void, undefined>; } export default OrderedMap;