import { type JsonObject, type JsonValue } from "#shared/json.js";
export declare const DEFAULT_WORKFLOW_PROGRAM_MAX_SUBAGENTS = 100;
export declare const MAX_WORKFLOW_PROGRAM_MAX_SUBAGENTS = 128;
export declare const WORKFLOW_PROGRAM_BRIDGE_REQUEST_LIMIT = 256;
export declare const WORKFLOW_PROGRAM_CALL_INTERRUPT_KIND = "eve.workflow-program-agent-call";
export interface WorkflowProgramCallInterrupt {
    readonly kind: typeof WORKFLOW_PROGRAM_CALL_INTERRUPT_KIND;
    readonly task: undefined;
    readonly toolInput: unknown;
    readonly toolName: "agent";
}
export interface WorkflowProgramContinuationSecurity {
    readonly maxAgeMs?: number;
    readonly signingKey: string;
}
/** Internal durable input pinned for one generated program run. */
export interface WorkflowProgramInput {
    readonly continuationSecurity: WorkflowProgramContinuationSecurity;
    readonly js: string;
    readonly maxSubagents: number;
}
export type WorkflowProgramOptions = Pick<WorkflowProgramInput, "maxSubagents">;
export interface WorkflowProgramAgentCall {
    readonly input: {
        readonly agentId?: string;
        readonly message: string;
        readonly outputSchema?: JsonObject;
    };
    readonly target: string;
}
export declare function parseWorkflowProgramOptions(value: unknown): WorkflowProgramOptions;
export declare function readWorkflowProgramCallInterrupt(input: {
    readonly payload: unknown;
}): WorkflowProgramCallInterrupt;
export declare function readWorkflowProgramAgentCall(value: unknown): WorkflowProgramAgentCall;
export declare function parseWorkflowProgramOutput(value: unknown): JsonValue;
