import { Part, ResolvedRef } from "@inkeep/agents-core";
import * as workflow0 from "workflow";

//#region src/domains/run/workflow/functions/agentExecution.d.ts
type AgentExecutionPayload = {
  tenantId: string;
  projectId: string;
  agentId: string;
  conversationId: string;
  userMessage: string;
  messageParts?: Part[];
  requestId: string;
  resolvedRef: ResolvedRef;
  forwardedHeaders?: Record<string, string>;
  outputFormat?: 'sse' | 'vercel';
  emitOperations?: boolean;
};
/**
 * Hook for tool approval: external systems resume this to approve/deny a tool call.
 * Token format: `tool-approval:${conversationId}:${workflowRunId}:${toolCallId}`
 */
declare const toolApprovalHook: workflow0.TypedHook<{
  approved: boolean;
  reason?: string;
}, {
  approved: boolean;
  reason?: string;
}>;
declare function _agentExecutionWorkflow(payload: AgentExecutionPayload): Promise<{
  success: boolean;
}>;
declare const agentExecutionWorkflow: typeof _agentExecutionWorkflow & {
  workflowId: string;
};
//#endregion
export { AgentExecutionPayload, agentExecutionWorkflow, toolApprovalHook };