import type { AgentAttemptAction, JsonValue, RegisteredAgentSetupHook, WorkflowCatalog, WorkflowCatalogContext, WorkflowCatalogError, WorkflowCatalogFunction, WorkflowCatalogIndex, WorkflowCatalogModelAlias, WorkflowExtension, WorkflowFunction, WorkflowFunctionContext, WorkflowJournal, WorkflowModelAlias, WorkflowModelAliasResolverContext, WorkflowRoleDirectoryRegistration } from "./types.js"; import type { SubagentRunRequest, SubagentStatus } from "../subagents/src/contracts.js"; export type SubagentStatusObserver = (status: Readonly, request: Readonly) => void; export declare class WorkflowRegistry { #private; get frozen(): boolean; freeze(): void; setSubagentStatusObserver(observer: SubagentStatusObserver | undefined): void; observeSubagentStatus(status: Readonly, request: Readonly): void; register(extension: WorkflowExtension): void; function(name: string): WorkflowFunction; functions(): Readonly>; catalog(context?: WorkflowCatalogContext): WorkflowCatalog; catalogIndex(context?: WorkflowCatalogContext): WorkflowCatalogIndex; catalogDetail(name: string, context?: WorkflowCatalogContext): WorkflowCatalogFunction | WorkflowCatalogModelAlias | WorkflowCatalogError; globals(): Readonly>; invokeFunction(name: string, input: unknown, context: Readonly, path: string, journal: WorkflowJournal): Promise; agentSetupHooks(): readonly RegisteredAgentSetupHook[]; agentAttemptActions(): Readonly>; roleDirectories(): readonly string[]; roleDirectoryRegistrations(): readonly WorkflowRoleDirectoryRegistration[]; modelAliases(): readonly { name: string; version: string; headline: string; resolve: WorkflowModelAlias["resolve"]; }[]; resolveModelAliases(context: Readonly, shadowed?: ReadonlySet): Promise>>; } export type WorkflowRegistryApi = Pick; export declare function resetWorkflowRegistry(): void; export declare function resetWorkflowRegistryIfIdle(): void; export declare function beginWorkflowExtensionLoading(): void; export declare function retainWorkflowRegistry(): () => void; export declare function loadingRegistry(): WorkflowRegistryApi; export declare function registerWorkflowExtension(extension: WorkflowExtension): void; export declare function workflowCatalog(context?: WorkflowCatalogContext): WorkflowCatalog; export declare function workflowCatalogIndex(context?: WorkflowCatalogContext): WorkflowCatalogIndex; export declare function workflowCatalogDetail(name: string, context?: WorkflowCatalogContext): WorkflowCatalogFunction | WorkflowCatalogModelAlias | WorkflowCatalogError; export declare function registeredWorkflowFunctions(): Readonly>; export declare function registeredWorkflowRoleDirectories(): readonly string[]; export declare function registeredWorkflowRoleDirectoryRegistrations(): readonly WorkflowRoleDirectoryRegistration[]; export type { WorkflowCatalog, WorkflowCatalogContext, WorkflowCatalogError, WorkflowCatalogFunction, WorkflowCatalogIndex, WorkflowCatalogIndexFunction, WorkflowCatalogModelAlias, WorkflowCatalogSettings, WorkflowRoleDirectoryRegistration } from "./types.js";