import type { Agent } from "../types.js"; import type { Tool } from "../../tool/index.js"; import { ScopedRegistryFacade } from "../../registry/scoped-registry-facade.js"; export declare function agentAsTool(agent: Agent, description: string, options?: { publishChildStream?: boolean; }): Tool; /** Public API contract for workflow step. */ export interface WorkflowStep { agent: Agent; name: string; transform?: (output: string) => string | Promise; skip?: (context: Record) => boolean | Promise; } /** Configuration used by workflow. */ export interface WorkflowConfig { steps: WorkflowStep[]; initialContext?: Record; } /** Result returned from workflow. */ export interface WorkflowResult { output: string; steps: Array<{ name: string; output: string; skipped: boolean; }>; context: Record; } /** Create workflow. */ export declare function createWorkflow(config: WorkflowConfig): { execute(input: string): Promise; }; declare class AgentRegistryClass extends ScopedRegistryFacade { } export declare const agentRegistry: AgentRegistryClass; export { AgentRegistryClass }; /** Registers agent. */ export declare function registerAgent(id: string, agent: Agent): void; /** Return agent. */ export declare function getAgent(id: string): Agent | undefined; /** Return all agent IDs. */ export declare function getAllAgentIds(): string[]; /** Return agents as tools. */ export declare function getAgentsAsTools(descriptions?: Record): Record; //# sourceMappingURL=composition.d.ts.map