import type { FrontendTool, ToolCallStatus } from "@copilotkit/core"; import type { Component, VNodeChild } from "vue"; export type VueHumanInTheLoopRenderProps = | { name: string; description: string; args: Partial; status: ToolCallStatus.InProgress; result: undefined; respond: undefined; } | { name: string; description: string; args: T; status: ToolCallStatus.Executing; result: undefined; respond: (result: unknown) => Promise; } | { name: string; description: string; args: T; status: ToolCallStatus.Complete; result: string; respond: undefined; }; export type VueHumanInTheLoopRenderFn = | ((props: VueHumanInTheLoopRenderProps) => VNodeChild) | Component>; export type VueHumanInTheLoop< T extends Record = Record, > = Omit, "handler"> & { render: VueHumanInTheLoopRenderFn; };