export type SkillAction = { kind: "open"; target: string; } | { kind: "exec"; command: string; }; export type LearnedSkill = { id: string; triggers: string[]; action: SkillAction; say?: string; description?: string; uses: number; createdAt: number; lastUsed: number; }; export declare function listLearnedSkills(): LearnedSkill[]; /** * Best matching skill for an utterance, or null. A skill matches when a full * trigger phrase appears in the utterance, or when nearly all of a trigger's * significant tokens are present (order-free) — tolerant of the extra words * people say around a command. */ export declare function matchLearnedSkill(utterance: string): LearnedSkill | null; /** Record (or update) a skill. Merges triggers into an existing same-action skill. */ export declare function recordLearnedSkill(input: { triggers: string[]; action: SkillAction; say?: string; description?: string; }): LearnedSkill; /** Remove a skill by id. Returns true if one was removed. */ export declare function forgetLearnedSkill(id: string): boolean; /** Execute a matched skill instantly. Best-effort; returns what to say (if any). */ export declare function fireLearnedSkill(skill: LearnedSkill): Promise;