import { Observable } from 'rxjs' ; import { Hover } from './runtime' ; import { TraceStep } from './trace-data' ; import { CellMetadata , VisualizationData } from './visualization' ; export type CellUpdateAction = 'toggleVisualization' | 'updateStep' | 'saveData' ; export interface ICellDataService { cell$ : Observable < CodeCell > ; visualization$ : Observable < VisualizationData > ; traceStep$ : Observable < TraceStep > ; setCodeCell ( cell ) : void ; } export interface ICellService { cell$ : Observable < CodeCell > ; traceStep$ : Observable < TraceStep > ; setHover ( hover ) : void ; setCodeCell ( cell ) : void ; handleStdout ( text ? ) : void ; } export interface Nbtutor { cellSvc : ICellService ; ngOnDestroy ( ) : void ; } export interface CodeCell extends NotebookCodeCell { metadata : CellMetadata ; nbtutor ? : Nbtutor ; }