import { BaseSchemes, GetSchemes, NodeEditor, Root, Scope } from 'rete'; import { Area2D, AreaPlugin, RenderSignal } from 'rete-area-plugin'; import { Rect } from './types'; type NodeSize = { width: number; height: number; }; type ExpectedScheme = GetSchemes; export type Transform = { x: number; y: number; k: number; }; /** * Extra signal types for minimap rendering * @priority 10 */ export type MinimapExtra = RenderSignal<'minimap', { ratio: number; nodes: Rect[]; viewport: Rect; start(): Transform; translate(dx: number, dy: number): void; point(x: number, y: number): void; }>; /** * Minimap plugin, triggers rendering of the minimap * @priority 9 * @listens nodetranslated * @listens nodecreated * @listens noderemoved * @listens translated * @listens resized * @listens noderesized * @listens zoomed * @emits render */ export declare class MinimapPlugin extends Scope | MinimapExtra, Root]> { private props?; element: HTMLElement; editor: NodeEditor; area: AreaPlugin; ratio: number; minDistance: number; boundViewport: boolean; /** * @constructor * @param props Plugin properties * @param props.ratio minimap ratio. Default is `1` * @param props.minDistance minimap minimum distance. Default is `2000` * @param props.boundViewport whether to bound the mini-viewport to the minimap. Default is `false` */ constructor(props?: { minDistance?: number; ratio?: number; boundViewport?: boolean; } | undefined); setParent(scope: Scope, [Root]>): void; private getNodesRect; private render; } export {}; //# sourceMappingURL=index.d.ts.map