/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ import { Diagram as DiagramWidget } from '@progress/kendo-diagram-common'; import { ShapeOptions, ConnectionOptions } from '../interfaces/index.js'; /** * @hidden */ type DiagramEventHandlers = Record void) | undefined>; /** * @hidden */ type TooltipShowHandler = (event: { item: { id: string | number; name: string; dataItem: Record; }; point: { x: number; y: number; }; }, options: { shapeDefaults?: { tooltip?: { visible?: boolean; cssClass?: string; }; }; connectionDefaults?: { tooltip?: { visible?: boolean; cssClass?: string; }; }; shapes?: ShapeOptions[]; connections?: ConnectionOptions[]; }) => void; /** * @hidden */ type TooltipHideHandler = (dataItem: Record) => void; /** * @hidden */ interface DiagramEventBindingOptions { handlers: DiagramEventHandlers; handleTooltipShow: TooltipShowHandler; handleTooltipHide: TooltipHideHandler; } /** * @hidden * * Custom hook that binds Diagram widget events to React event handler props. * Uses a ref-based approach so that event handlers always invoke the latest * callback without requiring rebinding on every prop change. */ export declare const useDiagramEvents: (options: DiagramEventBindingOptions) => { bindDiagramEvents: (widget: DiagramWidget, diagramOptions: { shapeDefaults?: { tooltip?: { visible?: boolean; cssClass?: string; }; }; connectionDefaults?: { tooltip?: { visible?: boolean; cssClass?: string; }; }; shapes?: ShapeOptions[]; connections?: ConnectionOptions[]; }) => void; }; export {};