/* * Copyright (c) 2021 RCSB PDB and contributors, licensed under MIT, See LICENSE file for more info. * @author Joan Segura Mora */ import {RcsbFvSelectorManager} from "./RcsbFvSelectorManager"; import {AssemblyModelSate} from "./AssemblyModelSate"; import {Subject, Subscription} from "rxjs"; export type RcsbFvStateType = { type: "feature-click"|"selection-change"|"hover-change"|"model-change"|"representation-change"|"pfv-change"|T; view: "1d-view" | "3d-view"; data?:D; }; export interface RcsbFvStateInterface { readonly selectionState: RcsbFvSelectorManager; readonly assemblyModelSate: AssemblyModelSate; readonly subject: Subject> subscribe(o:(state:RcsbFvStateType)=>void): Subscription; next(state:RcsbFvStateType): void; }