import { NodeGroup } from "../../register/node"; import { MagicFlow } from "../../types/flow"; import React from "react"; export type MaterialGroup = Partial> & { detail: Pick; name: string; description: string; avatar: string; isGroupNode: boolean; children: MaterialGroup[]; id: string; }; export declare enum AgentType { Person = 0, Enterprise = 1, Market = 2 } export type MaterialSourceCtx = React.PropsWithChildren<{ tools?: { groupList: MaterialGroup[]; searchListFn: (keyword: string) => Promise; getNextPageFn: () => Promise; }; subFlow?: { list: MagicFlow.Flow; searchListFn: (keyword: string) => Promise; getNextPageFn: () => Promise; }; agent?: { list: Partial; searchListFn: (type: AgentType, keyword: string) => Promise; getNextPageFn: () => Promise; }; }>; export declare const MaterialSourceContext: React.Context; export declare const MaterialSourceProvider: ({ tools, subFlow, agent, children }: MaterialSourceCtx) => React.JSX.Element; export declare const useMaterialSource: () => MaterialSourceCtx;