/**
 * A simple map-like data structure that uses an array for storage.
 * This class is not memory efficient for sparse lookups, as it uses an array
 * internally and will allocate memory for all indices up to the highest key used.
 * It is however very fast for lookups.
 * @remarks It is not possible to store `undefined` values in this map, as `undefined`
 * is used to represent keys that have not been set. This class is only intended to be used
 * where the key is mostly a sequential number.
 */
export declare class IndexedMap<T> {
    private readonly _items;
    /**
     * Constructs a new IndexedMap.
     * @param initialCapacity The initial capacity of the map. Defaults to `0`.
     */
    constructor(initialCapacity?: number);
    /**
     * Sets the value for the given key.
     * @param key The key to set the value for.
     * @param value The value to set.
     * @returns The value that was set.
     */
    set(key: number, value: T): T;
    /**
     * Gets the value for the given key.
     * @param key The key to get the value for.
     * @returns The value for the key, or `undefined` if the key does not exist.
     */
    get(key: number): T | undefined;
    /**
     * Checks if the map contains the given key.
     * @param key The key to check for.
     * @returns `true` if the key exists in the map, otherwise `false`.
     */
    has(key: number): boolean;
    /**
     * Gets the current capacity of the map. This is not the number of items stored in the map,
     * but rather the size of the internal array.
     * @returns The current capacity of the map.
     */
    get capacity(): number;
    /**
     * Clears all items from the map.
     * This is a heavy operation as it has to zero out the memory used by.
     */
    clear(): void;
}
//# sourceMappingURL=IndexedMap.d.ts.map