import { BrowserElement, BrowserUI, Surface, Vertex, ViewSpec } from "@visuallyjs/browser-ui"; import { BrowserUIVueModel } from "./browser-ui-vue"; import { RenderOptions } from "./definitions"; /** @internal */ export declare const EVENT_VERTICES_RENDERED = "vertices:rendered"; /** @internal */ export declare const EVENT_VERTEX_UPDATED = "vertex:updated"; export declare function bindToDevLifecycle(surfaceId: string, event: string, handler: (a: any, e?: any) => any): void; /** * Provides a mixin you should use to create a component that renders a node. See documentation for details. * */ export declare const BaseNodeComponent: { mixins: { props: { data: ObjectConstructor; model: typeof BrowserUIVueModel; obj: typeof Vertex; vertex: typeof Vertex; ui: typeof BrowserUI; el: { new (): Element; prototype: Element; }; def: ObjectConstructor; eventInfo: ObjectConstructor; }; mounted(): void; methods: { /** * get the underlying Visually Js instance. */ getModel: () => any; /** * Removed the vertex this component represents. * */ removeVertex: () => void; }; updated(): void; }[]; methods: { getNode: () => any; removeNode: () => void; updateNode: (data: any) => void; }; }; /** * Provides a mixin you should use to create a component that renders a group. See documentation for details. * */ export declare const BaseGroupComponent: { methods: { /** * Gets the underlying group from the model. */ getGroup: () => any; /** * Removes the group this component represents from the model. * @param removeChildNodes */ removeGroup: (removeChildNodes?: boolean) => void; /** * Updates the underlying group in the model. * @param data */ updateGroup: (data: any) => void; }; mixins: { props: { data: ObjectConstructor; model: typeof BrowserUIVueModel; obj: typeof Vertex; vertex: typeof Vertex; ui: typeof BrowserUI; el: { new (): Element; prototype: Element; }; def: ObjectConstructor; eventInfo: ObjectConstructor; }; mounted(): void; methods: { /** * get the underlying Visually Js instance. */ getModel: () => any; /** * Removed the vertex this component represents. * */ removeVertex: () => void; }; updated(): void; }[]; }; /** * Placeholder for vertices prior we're rendering. Not used by API users. * @internal */ export interface VertexPlaceholder { component: any; el: BrowserElement; _key: string; props: Record; } /** * @internal * @param model * @param surfaceId * @param container * @param vertices * @param renderParams * @param view */ export declare function addSurface(model: BrowserUIVueModel, surfaceId: string, container: any, vertices: Array, renderParams?: RenderOptions, view?: ViewSpec): Surface;