export declare enum AnalyticsEventType { CreatedObject = "Created Object", ReadObject = "Read Object", UpdatedObject = "Updated Object", DeletedObject = "Deleted Object", SearchedObject = "Searched Object", RanProcess = "Ran Process", StartedProcess = "Started Process", EndedProcess = "Ended Process", CustomEvent = "Custom Event", ServiceLogin = "Service Login", ServiceLogout = "Service Logout", HybridRatedUsage = "Hybrid Rated Usage", VideoPlaybackStarted = "Video Playback Started", VideoPlaybackCompleted = "Video Playback Completed", ObjectInteraction = "Object Interaction" } /** * @see https://pages.github.ibm.com/Bluemix/platform-analytics/development/dev-schema/ */ export declare abstract class AnalyticsEvent { type: AnalyticsEventType; productTitle?: string; successFlag?: boolean; resultValue?: string; category?: string; platformTitle?: string; tenantId?: string; sessionId?: string; uiElement?: string; milestoneName?: string; intercomTag?: string; customName1: string; customValue1: string; constructor(type: AnalyticsEventType, action: string); } /** * OBJECT EVENTS */ declare abstract class ObjectEvent extends AnalyticsEvent { objectType: string; object?: string | {}; constructor(eventType: AnalyticsEventType, action: string); } export declare abstract class CreatedObjectEvent extends ObjectEvent { constructor(action: string); } export declare abstract class ReadObjectEvent extends ObjectEvent { constructor(action: string); } export declare abstract class UpdatedObjectEvent extends ObjectEvent { constructor(action: string); } export declare abstract class DeletedObjectEvent extends ObjectEvent { constructor(action: string); } export declare abstract class SearchedObjectEvent extends ObjectEvent { constructor(action: string); } /** * PROCESS EVENTS */ declare abstract class ProcessEvent extends AnalyticsEvent { processType: string; process?: string | {}; constructor(eventType: AnalyticsEventType, processType: string); } export declare abstract class RanProcessEvent extends ProcessEvent { constructor(processType: string); } export declare abstract class StartedProcessEvent extends ProcessEvent { constructor(action: string); } export declare abstract class EndedProcessEvent extends ProcessEvent { constructor(action: string); } /** * CUSTOM EVENTS */ export declare abstract class CustomEvent extends ObjectEvent { action: string; constructor(action: string); } /** * LOG IN/OUT EVENTS */ declare abstract class LogInOutEvent extends AnalyticsEvent { accountId?: string; region?: string; email?: string; constructor(eventType: AnalyticsEventType, action: string); } export declare class ServiceLoginEvent extends LogInOutEvent { loginMethod?: string; constructor(action: string); } export declare class ServiceLogoutEvent extends LogInOutEvent { logoutMethod?: string; constructor(action: string); } /** * HYBRID RATED USAGE EVENT */ export declare abstract class HybridRatedUsageEvent extends AnalyticsEvent { constructor(action: string); } /** * VIDEO EVENTS */ declare abstract class VideoEvent extends AnalyticsEvent { totalLength?: number; videoPlayer?: string; sound?: boolean; url?: string; fullScreen?: boolean; contentAssetId?: string; contentAssetIds?: string[]; contentPodId?: string; contentPodIds?: string[]; adPodId?: string; adPodIds?: string[]; adType?: string; adTypes?: string[]; position?: number; seekPosition?: number; bitrate?: number; framerate?: number; adEnabled?: boolean; quality?: string; method?: string; livestream?: boolean; customName2: string; customValue2: string; constructor(eventType: AnalyticsEventType, action: string, videoUrl: string); } export declare abstract class VideoPlaybackStartedEvent extends VideoEvent { constructor(action: string, videoUrl: string); } export declare abstract class VideoPlaybackCompletedEvent extends VideoEvent { constructor(action: string, videoUrl: string); } export {};