import type { KeyValue } from '../../common'; import { type ToolItemDefinition, type ToolItemOptions } from '../../view/tool'; import { Registry } from '../registry'; import { SourceAnchor, TargetAnchor } from './anchor'; import { SourceArrowhead, TargetArrowhead } from './arrowhead'; import { Boundary } from './boundary'; import { Button, Remove } from './button'; import { EdgeEditor, NodeEditor } from './editor'; import { Segments } from './segments'; import { Vertices } from './vertices'; /** * ========== NodeTool ========== */ export declare const nodeToolPresets: { boundary: typeof Boundary; button: typeof Button; 'button-remove': typeof Remove; 'node-editor': typeof NodeEditor; }; export type NodeToolDefinition = ToolItemDefinition; export declare const nodeToolRegistry: Registry>; type NodeToolPresets = typeof nodeToolPresets; type NodeToolOptionsMap = { readonly [K in keyof NodeToolPresets]-?: ConstructorParameters[0]; }; export type NodeToolNativeNames = keyof NodeToolPresets; export interface NodeToolNativeItem { name: T; args?: NodeToolOptionsMap[T]; } export interface NodeToolManualItem { name: Exclude; args?: ToolItemOptions; } /** * ======== EdgeTool ========== */ export declare const edgeToolPresets: { boundary: typeof Boundary; vertices: typeof Vertices; segments: typeof Segments; button: typeof Button; 'button-remove': typeof Remove; 'source-anchor': typeof SourceAnchor; 'target-anchor': typeof TargetAnchor; 'source-arrowhead': typeof SourceArrowhead; 'target-arrowhead': typeof TargetArrowhead; 'edge-editor': typeof EdgeEditor; }; export type EdgeToolDefinition = NodeToolDefinition; export declare const edgeToolRegistry: Registry>; type EdgeToolPresets = typeof edgeToolPresets; type EdgeToolOptionsMap = { readonly [K in keyof EdgeToolPresets]-?: ConstructorParameters[0]; }; export type EdgeToolNativeNames = keyof EdgeToolPresets; export interface EdgeToolNativeItem { name: T; args?: EdgeToolOptionsMap[T]; } export interface EdgeToolManualItem { name: Exclude; args?: ToolItemOptions; } export {};