import { IObserver } from '../../observer/type/observer.type';
import { IGenericNotification, INotification, TInferNotificationGName } from './notification.type';
export declare type IInferNotificationsObserverMapFromNotificationsUnion<GNotificationsUnion extends IGenericNotification> = {
    [GName in TInferNotificationGName<GNotificationsUnion>]?: GNotificationsUnion extends INotification<GName, infer GValue> ? IObserver<GValue> : never;
};
export declare function notificationObserver<GNotificationsUnion extends IGenericNotification>(map: IInferNotificationsObserverMapFromNotificationsUnion<GNotificationsUnion>): IObserver<GNotificationsUnion>;
