import { JSONSchema7 } from 'json-schema'; interface AgentSchemaModel { provider: string; model?: string; temperature?: number; maxTokens?: number; baseUrl?: string; } interface AgentSchemaTool { name: string; description?: string; schema?: JSONSchema7; /** Free-form hint string handed to code generators. */ implementation?: string; requiresConfirmation?: boolean; tags?: string[]; } interface AgentSchemaMemory { kind: 'inMemory' | 'localStorage' | 'custom'; key?: string; options?: Record; } interface AgentSchema { name: string; description?: string; systemPrompt?: string; model: AgentSchemaModel; tools?: AgentSchemaTool[]; memory?: AgentSchemaMemory; skills?: string[]; metadata?: Record; } interface ParseAgentSchemaOptions { /** * Parser for non-JSON input (e.g. YAML). Defaults to `JSON.parse`. * Keeps the core zero-dep: bring your own YAML parser. */ parser?: (input: string) => unknown; } /** * Validate a raw agent-schema object (e.g. a parsed YAML / JSON * document) into a typed `AgentSchema`. Throws on the first problem * with a descriptive path. */ declare function validateAgentSchema(raw: unknown): AgentSchema; /** * Parse a JSON (default) or text-format agent definition. Provide * `options.parser` for YAML or other formats. Keeps core zero-dep. */ declare function parseAgentSchema(text: string, options?: ParseAgentSchemaOptions): AgentSchema; /** * Render a TypeScript module source string that re-exports a typed * `AgentSchema` constant. Useful for "compile YAML → .ts" build steps. */ declare function renderAgentSchemaModule(schema: AgentSchema): string; export { type AgentSchema, type AgentSchemaMemory, type AgentSchemaModel, type AgentSchemaTool, type ParseAgentSchemaOptions, parseAgentSchema, renderAgentSchemaModule, validateAgentSchema };