import { ResourceId } from '../models'; export interface SessionReportTimelineItemBase { id: ResourceId; eventType: string; subType: string; startTime: number; userId: ResourceId; endTime: number; duration: number; reactions: SessionReportTimelineReaction[]; } export interface SessionReportTimelineItemSessionEvent extends SessionReportTimelineItemBase { eventType: 'session'; subType: 'session_start' | 'session_end'; } export interface SessionReportTimelineItemTextSegment extends SessionReportTimelineItemBase { eventType: 'text'; subType: 'segment'; text: string; confidence: number; children: SessionReportTimelineItemTextChild[]; } export interface SessionReportTimelineItemTextChild extends SessionReportTimelineItemBase { eventType: 'text'; subType: 'interjection' | 'interruption'; parentId: ResourceId; text: string; confidence: number; targetIndices: number[]; } export declare type SessionReportTimelineItemText = SessionReportTimelineItemTextSegment; export interface SessionReportTimelineItemSceneEvent extends SessionReportTimelineItemBase { eventType: 'scene'; subType: 'screen_share_start' | 'screen_share_end'; } export interface SessionReportTimelineItemSceneChange extends SessionReportTimelineItemBase { eventType: 'scene'; subType: 'scene_change'; mediaUrl: string; } export declare type SessionReportTimelineItemScene = SessionReportTimelineItemSceneEvent | SessionReportTimelineItemSceneChange; export interface SessionReportTimelineItemHighlightGeneric extends SessionReportTimelineItemBase { eventType: 'highlight'; subType: 'monologue' | 'question'; } export interface SessionReportTimelineItemHighlightKeyword extends SessionReportTimelineItemBase { eventType: 'highlight'; subType: 'keyword'; body: any; } export interface SessionReportTimelineItemHighlightFollowUp extends SessionReportTimelineItemBase { eventType: 'highlight'; subType: 'follow_up'; body: any; } export interface SessionReportTimelineItemHighlightBookmark extends SessionReportTimelineItemBase { eventType: 'highlight'; subType: 'bookmark'; body: any; } export declare type SessionReportTimelineItemHighlight = SessionReportTimelineItemSessionEvent | SessionReportTimelineItemHighlightGeneric | SessionReportTimelineItemHighlightKeyword | SessionReportTimelineItemHighlightFollowUp | SessionReportTimelineItemHighlightBookmark; export interface SessionReportTimelineReaction { startIndex: number; endIndex: number; id: ResourceId; userId: ResourceId; startTime: number; endTime: number; duration: number; intensity: null; name: string; speaking: boolean; description: string; signal: string; sentiment: number; color: string; } export declare type SessionReportTimelineItem = SessionReportTimelineItemText | SessionReportTimelineItemScene | SessionReportTimelineItemHighlight;