@edifice.io/client
Version:
29 lines (28 loc) • 1.08 kB
TypeScript
import { IGetConf, ITheme, IThemeOverrides } from '../configure/interfaces';
import { IUserInfo } from '../session/interfaces';
import { INotifyFramework, IPromisified, ISubject, ISubjectMessage } from './interfaces';
/** Utility class */
export declare class Promisified<T> implements IPromisified<T> {
private _resolution?;
private _rejection?;
private _promise;
get promise(): Promise<T>;
resolve(value: T | PromiseLike<T>): void;
reject(reason?: any): void;
}
/** The notify framework implementation. */
declare class NotifyFramework implements INotifyFramework {
private promises;
private subject;
private asyncData;
onSessionReady(): IPromisified<IUserInfo>;
onLangReady(): IPromisified<string>;
onSkinReady(): Promisified<ITheme>;
onOverridesReady(): Promisified<IThemeOverrides>;
onAppConfReady(): Promisified<IGetConf>;
promisify<T>(): IPromisified<T>;
events<T extends ISubjectMessage>(): ISubject<T>;
}
/** The whole framework is a singleton. */
export declare const notify: NotifyFramework;
export {};