import { Report } from '@/services/data/tuples/report-types' ; import { Subject } from '@/services/data/tuples/subject-types' ; import { Topic } from '@/services/data/tuples/topic-types' ; import { AssembledReportGraphics , AssembledSubjectGraphics , AssembledTopicGraphics } from './types' ; export enum CatalogEventTypes { TOPIC_SELECTED = 'topic-selected' , SUBJECT_SELECTED = 'subject-selected' , REPORT_SELECTED = 'report-selected' , CLEAR_SELECTION = 'clear-selection' , TOPIC_MOVED = 'topic-moved' , SUBJECT_MOVED = 'subject-moved' , REPORT_MOVED = 'report-moved' , SCROLL = 'scroll' , RESIZE = 'resize' } export interface CatalogEventBus { fire ( type , topic ) : this ; on ( type , listener ) : this ; off ( type , listener ) : this ; fire ( type , subject ) : this ; on ( type , listener ) : this ; off ( type , listener ) : this ; fire ( type , subject , report ) : this ; on ( type , listener ) : this ; off ( type , listener ) : this ; fire ( type ) : this ; on ( type , listener ) : this ; off ( type , listener ) : this ; fire ( type , topic , graphics ) : this ; on ( type , listener ) : this ; off ( type , listener ) : this ; fire ( type , subject , graphics ) : this ; on ( type , listener ) : this ; off ( type , listener ) : this ; fire ( type , report , graphics ) : this ; on ( type , listener ) : this ; off ( type , listener ) : this ; fire ( type ) : this ; on ( type , listener ) : this ; off ( type , listener ) : this ; fire ( type ) : this ; on ( type , listener ) : this ; off ( type , listener ) : this ; }