/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

export declare class SkipList<K, V> implements Map<K, V> {
	readonly comparator: (a: K, b: K) => number;
	readonly [Symbol.toStringTag] = 'SkipList';
	private _maxLevel;
	private _level;
	private _header;
	private _size;
	/**
	 *
	 * @param capacity Capacity at which the list performs best
	 */
	constructor(comparator: (a: K, b: K) => number, capacity?: number);
	get size(): number;
	clear(): void;
	has(key: K): boolean;
	get(key: K): V | undefined;
	set(key: K, value: V): this;
	delete(key: K): boolean;
	forEach(callbackfn: (value: V, key: K, map: Map<K, V>) => void, thisArg?: any): void;
	[Symbol.iterator](): IterableIterator<[K, V]>;
	entries(): IterableIterator<[K, V]>;
	keys(): IterableIterator<K>;
	values(): IterableIterator<V>;
	toString(): string;
	private static _search;
	private static _insert;
	private static _randomLevel;
	private static _delete;
}
