import type { SkillLike } from '../types/skills.js'; export interface DefineSkillConfig { /** Lowercase, hyphen-separated, ≤64 chars — the Agent Skills naming rule. */ name: string; /** When the model should reach for this skill. Disclosed up front, so keep it specific. ≤1024 chars. */ description: string; /** The skill body — Level 2, loaded only when the model calls `load_skill`. */ instructions: string; /** Level 3: fetched individually via `read_skill_resource`, never loaded up front. */ resources?: Record; /** Restricts this skill to a subset of the agent's tools. Unknown names fail at wiring time. */ allowedTools?: string[]; } /** * Authors a skill inline, with no filesystem involved. * * Validated against the same rules as a `SKILL.md` on disk — an inline skill that would be * rejected as a file is rejected here too, so moving one to `agents//skills/` later * cannot start failing. */ export declare function defineSkill(config: DefineSkillConfig): SkillLike;