import { AnyValue, ValueMap } from '../types';
export type ValueQueue = AnyValue[];
export interface ValueQueueMap {
    [name: string]: ValueQueue;
}
export type SerializableValueQueueManager = ValueQueueMap;
export declare class ValueQueueManager {
    static fromSerializable(serializable: ValueQueueManager): ValueQueueManager;
    protected queues: ValueQueueMap;
    protected queueNames: string[];
    protected nonEmptyQueues: Set<string>;
    constructor(queueNames: string[]);
    push(queueName: string, value: AnyValue): void;
    getEmptyQueueNames(): string[];
    popAll(): ValueMap;
    topAll(): ValueMap;
    toSerializable(): SerializableValueQueueManager;
    validateAllNonEmpty(): void;
    allHaveContent(): boolean;
}
