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 {};
