import { AgentManifestInfo } from '../ui.js'; /** * Shape of a package manifest's `objects` entry */ interface ManifestObject { className: string; agent?: AgentManifestInfo; [key: string]: unknown; } /** * Shape of a package manifest JSON file */ export interface PackageManifest { objects: Record; [key: string]: unknown; } /** * Extract the AgentManifestInfo from a package manifest by class name. * * Iterates `manifest.objects` looking for the entry whose `className` matches * and has an `agent` metadata block. * * @param manifest - Parsed manifest JSON from a package * @param agentClass - Agent class name to search for (e.g., 'Praeco') * @returns The agent manifest info, or null if not found */ export declare function extractAgentManifest(manifest: PackageManifest, agentClass: string): AgentManifestInfo | null; /** * Load and register agent manifests from a list of package names. * * For each package, resolves its `/manifest` export via `createRequire`, * reads the manifest JSON, extracts the agent class and metadata, and registers * with `AgentUIRegistry`. * * @param packages - Array of package names (e.g., ['@happyvertical/praeco']) * @param projectRoot - Absolute path to the project root (for require resolution) * @returns Map of agentClass -> AgentManifestInfo for successfully loaded agents */ export declare function loadManifestsFromPackages(packages: string[], projectRoot: string): Map; /** * Extract agent package names from a smrt.config.js file. * * Reads the file, finds the `agents: [...]` array, strips comments, * and extracts quoted package names. Same logic as the Vite plugin. * * @param configPath - Absolute path to smrt.config.js * @returns Array of package name strings */ export declare function extractAgentPackagesFromConfig(configPath: string): string[]; /** * Load and register agent manifests by reading smrt.config.js. * * One-call setup: reads the config file to discover agent packages, * then loads and registers manifests for each. Idempotent — safe to * call from multiple server load functions. * * @param configPath - Path to smrt.config.js (default: `/smrt.config.js`) * @param projectRoot - Project root for require resolution (default: `process.cwd()`) * @returns Map of agentClass -> AgentManifestInfo */ export declare function loadManifestsFromConfig(configPath?: string, projectRoot?: string): Map; export {}; //# sourceMappingURL=manifest-utils.d.ts.map