import type { AgentDefinition } from "../core/types.js";
/**
 * Validate + freeze a declarative sub-agent definition (design/38 1B). A thin, fail-fast factory: it
 * checks the only hard requirement (a non-empty `name`) and returns a shallow-frozen copy so a stored
 * definition can't be mutated out from under the registry. Registry-level checks (name uniqueness,
 * collision with reserved/tool names, model-ref resolution) happen when the set is handed to
 * {@link createSubagentTool}, where the tool name + model catalog are available.
 */
export declare function defineAgent(def: AgentDefinition): AgentDefinition;
