import { initContainer } from "../ContainerBase/index"; import TreeContainer from './Base/index'; import TreeIterator from './Base/TreeIterator'; export declare class OrderedMapIterator extends TreeIterator { get pointer(): [K, V]; copy(): OrderedMapIterator; } declare class OrderedMap extends TreeContainer { constructor(container?: initContainer<[K, V]>, cmp?: (x: K, y: K) => number); private readonly iterationFunc; 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;