import { Comparator, Iterator } from './binary_tree';
import { IdFunction } from './util';
export declare class SortedMultimap<K, V> {
    private _tree;
    private _idFn;
    constructor(comparator: Comparator<K>, idFn?: IdFunction<V>);
    private createContainerComparator;
    insert(key: K, value: V): void;
    remove(key: K, value: V): void;
    contains(key: K, value: V): boolean;
    ceiling(key: K): V[];
    floor(key: K): V[];
    lower(key: K): V[];
    higher(key: K): V[];
    headSet(key: K, inclusive?: boolean): V[];
    tailSet(key: K, inclusive?: boolean): V[];
    subSet(low: K, high: K, lowInclusive?: boolean, highInclusive?: boolean): V[];
    toArray(): V[];
    iterator(): Iterator<V>;
    private wrap;
    private unwrap;
    private unwrapArray;
}
export declare class SortedStringMultimap<K> extends SortedMultimap<K, string> {
    constructor(comparator: Comparator<K>);
}
