@jbrowse/core
Version:
JBrowse 2 core libraries used by plugins
30 lines (29 loc) • 948 B
TypeScript
import type React from 'react';
import PluggableElementBase from './PluggableElementBase';
import type DisplayType from './DisplayType';
import type { IAnyModelType, IAnyStateTreeNode } from 'mobx-state-tree';
type BasicView = React.ComponentType<{
model: any;
session?: IAnyStateTreeNode;
}>;
type ViewComponentType = React.LazyExoticComponent<BasicView> | BasicView;
interface ViewMetadata {
hiddenFromGUI?: boolean;
}
export default class ViewType extends PluggableElementBase {
ReactComponent: ViewComponentType;
stateModel: IAnyModelType;
displayTypes: DisplayType[];
viewMetadata: ViewMetadata;
extendedName?: string;
constructor(stuff: {
name: string;
displayName?: string;
stateModel: IAnyModelType;
extendedName?: string;
viewMetadata?: ViewMetadata;
ReactComponent: ViewComponentType;
});
addDisplayType(display: DisplayType): void;
}
export {};