import type { ManagedInstructionBlockResult } from "./instruction-types.js"; import type { SkillRenderTarget } from "./types.js"; export interface SubagentProtocolOptions { target: SkillRenderTarget; taskId?: string | undefined; root?: string; } export interface SubagentProtocolRole { id: string; name: string; description: string; capabilities: string[]; requiredHandoffFields: string[]; expectedEvidence: string[]; skillReferences: string[]; } export interface SubagentProtocolTaskRoute { taskId: string; title: string; status: string; ownerRole: string; routeRole: string; dependencyState: "satisfied" | "blocked"; conflictPrecedence: string[]; handoffRequirements: string[]; } export interface SubagentProtocol { target: SkillRenderTarget; taskId?: string | undefined; activeRoles: SubagentProtocolRole[]; taskRoutes: SubagentProtocolTaskRoute[]; conflictPrecedence: string[]; handoffRequirements: Record; content: string; managedBlock: string; } export declare function renderSubagentProtocol({ target, taskId, root, }: SubagentProtocolOptions): Promise; export declare function renderSubagentProtocolManagedBlock(target: SkillRenderTarget, content: string): string; export declare function upsertSubagentProtocolBlock(existing: string, protocol: SubagentProtocol, options?: { force?: boolean; }): ManagedInstructionBlockResult;