import { BaseSchemes, CanAssignSignal, Scope } from 'rete'; import { RenderPreset } from './presets/types'; import { Renderer } from './renderer'; import { Position, RenderSignal } from './types'; import { Context, Instance } from './vuecompat/types'; export * as Presets from './presets'; export type { ClassicScheme, VueArea2D } from './presets/classic/types'; export type { RenderPreset } from './presets/types'; export { default as Ref } from './Ref.vue'; /** * Signals that can be emitted by the plugin * @priority 10 */ export type Produces = { type: 'connectionpath'; data: { payload: Schemes['Connection']; path?: string; points: Position[]; }; }; type Requires = RenderSignal<'node', { payload: Schemes['Node']; }> | RenderSignal<'connection', { payload: Schemes['Connection']; start?: Position; end?: Position; }> | { type: 'unmount'; data: { element: HTMLElement; }; }; /** * Vue plugin options used to setup vue instance(s) used by retejs. */ export type Props = { /** * Use this to setup vue. * @param [context] to be used for createApp({ ...context }) or new Vue({ ...context }) * @returns app / vue instance. */ setup?: (context: Context) => Instance; }; /** * Vue plugin. Renders nodes, connections and other elements using React. * @priority 9 * @emits connectionpath * @listens render * @listens unmount */ export declare class VuePlugin> extends Scope, [Requires | T]> { renderer: Renderer; presets: RenderPreset[]; owners: WeakMap>; constructor(props?: Props); setParent(scope: Scope | T>): void; private unmount; private mount; /** * Adds a preset to the plugin. * @param preset Preset that can render nodes, connections and other elements. */ addPreset(preset: RenderPreset extends true ? K : 'Cannot apply preset. Provided signals are not compatible'>): void; } //# sourceMappingURL=index.d.ts.map