UNPKG

@omnia/foundation

Version:

Provide omnia foundation typings and tooling work on client side for omnia extension

51 lines (50 loc) 2.13 kB
import { Enums } from './Enums'; export declare module NotificationPanel { interface INotificationPanelControl { controlId: string; controlDisplayName: string; } interface INotificationModuleAngularEntity { objectType: NotificationPanelAngularEntityType; objectName: string; object: any; } interface INotificationPanelCategory { id?: string; title?: string; icon?: string; iconColor?: string; viewControls?: Array<INotificationPanelViewControl>; notificationType?: Enums.PanelNotificationTypes; notificationQueryUrl?: string; notificationProvider?: string; notificationCount?: number; shouldFadeOut?: boolean; visible?: boolean; emptyControl?: Array<string>; } interface INotificationPanelViewControl { controlId?: string; id?: string; title?: string; inEditMode?: boolean; draftTitle?: string; } interface INotificationProvider { providerId: string; providerName: string; getNotifications: (callback: (notifications: Array<any>) => void) => void; } enum NotificationPanelAngularEntityType { controller = 0, service = 1, } function registerNotificationPanelControl(controlId: string, controlDisplayName: string): void; function getNotificationPanelControls(supportAngular1?: boolean): INotificationPanelControl[]; function publishNewDataNotification(containerId: string, notificationCount: number): void; function onControlVisibleInNotificationPanel(containerId: string, handler: () => void): void; function isControlInNotificationPanel(containerId: string): boolean; function registerNotificationProvider(providerId: string, providerName: string, getNotificationsMethod: (callback: (notifications: Array<any>) => void) => void): void; function getNoficiationProvider(providerId: string): INotificationProvider; function getNotificationProviders(): Array<INotificationProvider>; }