type ToolConfig = { schema: any; name: string; description: string; fn: (params: any, context: TContext) => Promise; }; /** * Creates a group of engine tools that share a serialization chain. * * Prevents race conditions when the LLM fires multiple tools in a single step: * each tool waits for the previous one's full read-modify-write cycle to complete * before starting, so shared closure state (e.g. savedChartWidgetProps, * savedDashboardProps) is always up-to-date when read. * * Per-invocation: each call to createSerializedToolGroup creates an independent * chain, so parallel engine invocations (e.g. multiple buildChartEngine calls from * addDashboardWidgets) are unaffected. */ export declare function createSerializedToolGroup(configs: ToolConfig[], boundContext: TContext): { name: string; tool: import('ai').Tool; }[]; export {};