/** Allows for dispatching promises that can be made irrelevant by future dispatches. */
export declare class PromiseDispatcher<T = any> {
    private __dispatchId?;
    private __previousDispatchId?;
    private __promiseNotifier?;
    protected current: T;
    constructor(initial?: T);
    dispatch(promise: Promise<T>, onResolvedUninterrupted?: () => void): Promise<this>;
    dispatchForCurrent(promise: Promise<any>, onResolvedUninterrupted: () => void): Promise<this>;
    set(value: T): void;
    get promise(): Promise<T>;
    protected setCurrent(value: T): void;
}
