import type { Stats } from "node:fs"; import { type InstallSkillResult, type SkillScope } from "../packages/agent-skill-config/dist/index.js"; export interface InstallSkillFileSystem { readFile(path: string, encoding: BufferEncoding): Promise; readFile(path: string): Promise; symlink(target: string, path: string): Promise; readlink(path: string): Promise; realpath(path: string): Promise; writeFile(path: string, data: string | NodeJS.ArrayBufferView, options?: { encoding?: BufferEncoding; flag?: string; }): Promise; mkdir(path: string, options?: { recursive?: boolean; }): Promise; stat(path: string): Promise; lstat(path: string): Promise; rename(oldPath: string, newPath: string): Promise; rm?(path: string, options?: { recursive?: boolean; force?: boolean; }): Promise; unlink(path: string): Promise; readdir(path: string): Promise; copyFile?(src: string, dest: string): Promise; chmod?(path: string, mode: number): Promise; } export type InstallSkillSource = { name: string; content: string; } | { name: string; file: string; }; export interface InstallSkillOptions { cwd?: string; homeDir?: string; scope?: SkillScope; dryRun?: boolean; fs?: InstallSkillFileSystem; } /** * Install arbitrary skill content into an agent's native skill directory. * * The actual mutation and validation are delegated to poe-code's agent skill * configuration machinery, so SDK and CLI installs share the same safety rules. */ export declare function installSkill(agentId: string, source: InstallSkillSource, options?: InstallSkillOptions): Promise; export type { InstallSkillResult, SkillScope };