/** * skill command output formatting * Issue #1237: renders Catalog entries and plans in the same vocabulary the UI * uses (capability, effect, provenance, risk, target, diff, next action) so a * user reading `--help` and one reading the browser see the same thing. * * Nothing here prints an absolute path, a token or an artifact URL: the API does * not serve them, and these functions must not reconstruct them either. */ import type { SkillCatalogMeta, SkillCatalogSummary, SkillInstallPlan, SkillUninstallPlan, SkillUpdatePlan } from '../types/api-responses'; /** * Freshness notice for a Catalog response, or null when it was confirmed current. * Belongs on stderr: it qualifies the listing rather than being part of it. */ export declare function formatCatalogFreshness(catalog: SkillCatalogMeta): string | null; export declare function formatSkillTable(skills: SkillCatalogSummary[]): string; export declare function formatSkillDetail(skill: SkillCatalogSummary, version?: string): string; /** * Render the install root(s). A dual-root install (#1460) lists every root so * the user sees the package lands for both Codex and Claude; a single-root plan * reads exactly as before. */ export declare function formatInstallRoots(roots: readonly string[] | undefined, primary: string): string; /** The install preview: what lands, where, at what risk, and what stands in the way. */ export declare function formatInstallPlan(plan: SkillInstallPlan): string; /** * The update preview (Issue #1243): the version move, the security-relevant * differences, the file diff totals, and every reason the update is refused. * Shows the same facts the browser dialog shows, in the same order. */ export declare function formatUpdatePlan(plan: SkillUpdatePlan): string; /** The uninstall preview: what would be deleted, what would stay, and why. */ export declare function formatUninstallPlan(plan: SkillUninstallPlan): string; //# sourceMappingURL=skill-format.d.ts.map