/** * Managed skills live under ~/.xopc/skills (see resolveSkillsDir). * Install/update/delete via zip or folder operations; used by gateway API. */ import { type SkillHubLockEntry } from './hub-lock.js'; export declare const MAX_SKILL_ZIP_BYTES: number; export declare function isValidSkillId(id: string): boolean; export declare function isManagedSkillTransientDirName(name: string): boolean; /** True when `baseDir` is the global managed skills root or a direct child folder. */ export declare function isUnderManagedSkillsDir(baseDir: string): boolean; /** macOS/Windows noise; not part of the skill tree. */ export declare function isIgnorableZipEntry(name: string): boolean; export interface ManagedSkillListItem { id: string; name: string; description: string; path: string; /** Set when this folder was installed via `skills hub pull` / lock file. */ hub?: SkillHubLockEntry; } export declare function listManagedSkillDirs(): ManagedSkillListItem[]; export declare function deleteManagedSkill(skillId: string, rootDir?: string): void; export declare function getManagedSkillDir(skillId: string): string; export declare function assertManagedSkillDestination(skillId: string, rootDir?: string): { root: string; destDir: string; }; export declare function prepareManagedSkillTempDir(skillId: string, rootDir?: string): { root: string; destDir: string; tempDir: string; }; export declare function promoteManagedSkillTempDir(params: { skillId: string; tempDir: string; overwrite?: boolean; rootDir?: string; }): { skillId: string; path: string; }; /** * Install or replace a skill from a zip buffer. Layout: either `SKILL.md` at archive root * or a single top-level folder containing `SKILL.md` (optionally nested one level). */ export declare function installSkillFromZip(buffer: Buffer, options: { skillId?: string; overwrite?: boolean; rootDir?: string; }): { skillId: string; path: string; };