import type OpenFin from '@openfin/core'; import { ColorSchemeOption } from '@client/internal'; import { NotificationsThemeSet } from '@provider/model/Theme'; export interface NotificationsPlatform { /** * Unique identifier of the platform. */ id: string; /** * Stream title. * * Providing a different displayName for an existing stream id will update the * displayName of the stream stored in Notification Center. * */ title: string; /** * URL of the icon to be displayed for this platform. */ icon: string; /** * This is the theme associated with this platform. The center will be themed accordingly * when the platform is selected. */ theme?: NotificationsThemeSet; /** * This is the scheme associated with this platform. */ scheme?: ColorSchemeOption; /** * Workspace platform that registers this platform */ workspacePlatform?: { /** * @deprecated */ identity: OpenFin.ApplicationIdentity; analytics: { isSupported: boolean; }; }; platformIdentity: OpenFin.ApplicationIdentity; } export type PlatformRegisterPayload = Omit; export interface PlatformDeregisterPayload { id: string; } /** * Shape of the internal platforms stored in the database. */ export interface StoredPlatform extends NotificationsPlatform { active: boolean; }