/** * @author: yanxianliang * @date: 2025-07-23 22:49 * @desc: 创建 WorkFlow 级别隔离状态管理器 * * Copyright (c) 2025 by yanxianliang, All Rights Reserved. * * 内置部分State 和 Api + Hooks * * 支持外部扩展属性名称,和Api * */ import { Edge, Node } from "@xyflow/react"; import { WorkflowState, WorkflowStateApi } from "../.."; import React from "react"; import type { StoreApi } from "zustand/vanilla"; import { UseBoundStore } from "zustand/react"; export type ExtractState = S extends { getState: () => infer T; } ? T : never; export declare const WorkflowStateContext: React.Context<{ useStore?: UseBoundStore & Record>> | undefined; }>; export declare function createStateProvider = Record, NodeType extends Node = Node, EdgeType extends Edge = Edge>(initialValue?: Partial>): { Provider: React.MemoExoticComponent<({ children }: { children: React.ReactNode; }) => import("react/jsx-runtime").JSX.Element>; useSelector: (selector: (state: ExtractState & WorkflowStateApi>>) => U) => U; useSetState: () => (partial: (import("../..").ValidityState & import("../..").WorkflowBaseState & ExtraStore) | Partial & ExtraStore> | ((state: import("../..").ValidityState & import("../..").WorkflowBaseState & ExtraStore) => (import("../..").ValidityState & import("../..").WorkflowBaseState & ExtraStore) | Partial & ExtraStore>), replace?: boolean | undefined) => void; useGetState: () => () => import("../..").ValidityState & import("../..").WorkflowBaseState & ExtraStore; };