import { ParameterCondition , ParameterExpression , ParameterJoint } from '@/services/data/tuples/factor-calculator-types' ; export enum JointEventTypes { JOINT_TYPE_CHANGED = 'joint-type-changed' , SUB_EXPRESSION_ADDED = 'sub-expression-added' , SUB_JOINT_ADDED = 'sub-joint-added' , SUB_EXPRESSION_REMOVED = 'sub-expression-removed' , SUB_JOINT_REMOVED = 'sub-joint-removed' , EXPRESSION_CONTENT_CHANGED = 'expression-content-changed' , EXPAND_CONTENT = 'expand-content' , COLLAPSE_CONTENT = 'collapse-content' } export interface JointEventBus { fire ( type , joint ) : this ; on ( type , listener ) : this ; off ( type , listener ) : this ; fire ( type , expression , parent ) : this ; on ( type , listener ) : this ; off ( type , listener ) : this ; fire ( type , joint , parent ) : this ; on ( type , listener ) : this ; off ( type , listener ) : this ; fire ( type , expression , parent ) : this ; on ( type , listener ) : this ; off ( type , listener ) : this ; fire ( type , joint , parent ) : this ; on ( type , listener ) : this ; off ( type , listener ) : this ; fire ( type , condition , parent ) : 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 ; }