export declare type QueuedWaiter = () => void;
/**
 * @ngdoc object
 * @name IOTileAppModule.type:BlockingEvent
 *
 * @description
 * A concurrent event that allows waiting until a condition is met.  Anyone who
 * calls wait() will yield and block until set() is called, at which point all
 * waiters will be released in parallel.
 *
 * @property {boolean} isSet Whether the event is set
 */
export declare class BlockingEvent {
    private _set;
    private resolve;
    private event;
    constructor();
    wait(): Promise<void>;
    set(): void;
    readonly isSet: boolean;
}
