///
export declare class MapEvent {
value: V;
private wrappedCancelled;
constructor(value: V);
get cancelled(): boolean;
cancel(): void;
}
export interface SyncSubscription {
unsubscribe: () => void;
}
declare type Callback = (val: V) => void;
export declare class SyncSubject {
private subscriptions;
subscribe(callback: Callback): SyncSubscription;
next(val: V): void;
}
/**
* A map that emits events when its contents are changed.
*/
export declare class EventMap extends Map {
readonly events: {
delete: SyncSubject>;
set: SyncSubject<[K, V]>;
setAlways: SyncSubject<[K, V]>;
add: SyncSubject<[K, V]>;
};
clear(): void;
set(key: K, value: V, silent?: boolean): this;
delete(key: K): boolean;
}
export {};