/** two layer map abstraction */
export declare class TwoLayerCollector<Layer1 extends string, Layer2 extends string, Values> {
    readonly store: Map<Layer1, Map<Layer2, Values[]>>;
    add(layer1: Layer1, layer2: Layer2, value: Values): void;
    get(layer1: Layer1, layer2: Layer2): Values[] | undefined;
    outerKeys(): Iterable<Layer1>;
    innerKeys(layer1: Layer1): Iterable<Layer2>;
}
