import type { SubagentBackend, SubagentUsage } from "./src/types.js"; import { type WorkflowLimits } from "./src/workflow/runtime.js"; export interface HeadlessUsage extends SubagentUsage { childSubagents: number; } export interface HeadlessWorkflowOptions { script: string; cwd: string; args?: unknown; signal?: AbortSignal; maxConcurrentSubagents?: number; subagentTimeoutMs?: number; workflowTimeoutMs?: number; allowedBackends?: readonly SubagentBackend[]; limits?: Partial; onLog?: (message: string) => void; onPhase?: (title: string) => void; onUsage?: (usage: HeadlessUsage) => void; } export interface HeadlessWorkflowResult { result: T; logs: string[]; phases: string[]; subagentCount: number; usage: HeadlessUsage; } export type HeadlessWorkflowErrorCode = "ABORTED" | "WORKFLOW_TIMEOUT" | "EXECUTION_FAILED"; export declare class HeadlessWorkflowError extends Error { readonly code: HeadlessWorkflowErrorCode; readonly usage: HeadlessUsage; constructor(message: string, code: HeadlessWorkflowErrorCode, usage: HeadlessUsage, options?: ErrorOptions); } /** Execute a trusted pi-flow script without an ExtensionContext or TUI. */ export declare function executeWorkflow(options: HeadlessWorkflowOptions): Promise>;