import { __name } from "../_virtual/_rolldown/runtime.mjs"; import { DiagramApi } from "../likec4diagram/state/diagram-api.mjs"; import { selectDiagramContext, selectDiagramSnapshot, useDiagram, useDiagramActorRef, useDiagramSelector } from "./safeContext.mjs"; import { Context, EmittedEvents } from "../likec4diagram/state/machine.setup.mjs"; import "../likec4diagram/state/types.mjs"; import { DependencyList } from "react"; //#region src/hooks/useDiagram.d.ts /** * Read diagram context * @deprecated use {@link useDiagramSelector} */ export declare function useDiagramContext(selector: (context: Context) => T, compare?: (a: NoInfer, b: NoInfer) => boolean, deps?: DependencyList): T; type PickEmittedEvent = T extends EmittedEvents['type'] ? EmittedEvents & { type: T; } : unknown; /** * Subscribe to diagram emitted events * @example * ```tsx * useOnDiagramEvent('navigateTo', ({viewId}) => { * console.log('Navigating to view', viewId) * }) * ``` */ export declare function useOnDiagramEvent(event: T, callback: (event: PickEmittedEvent) => void, options?: { once?: boolean; }): void; //#endregion export { type DiagramApi, type Context as DiagramContext, selectDiagramContext, selectDiagramSnapshot, useDiagram, useDiagramActorRef, useDiagramSelector };