import { type SkillCompatibilityRefusal, type SkillCompatibilityStatus } from "./skill-metadata.js"; export type Runtime = "claude" | "codex" | "agents"; export declare const ALL_RUNTIMES: readonly Runtime[]; export type SymlinkStatus = "installed-symlink" | "installed-copy" | "installed-copy-fallback" | "already-linked" | "replaced" | "divergent-symlink" | "renamed-collision" | "target-not-a-directory" | "refused-incompatible"; export interface SkillRuntimeResult { skill: string; runtime: Runtime; targetPath: string; status: SymlinkStatus; compatibility: SkillCompatibilityStatus; refusal: SkillCompatibilityRefusal | null; message?: string; } export interface SymlinkResult { sourceDir: string; runtimes: readonly Runtime[]; results: readonly SkillRuntimeResult[]; } export interface SymlinkSkillsOptions { sourceDir?: string | undefined; runtimes?: readonly Runtime[] | undefined; skillNames?: readonly string[] | undefined; copy?: boolean | undefined; force?: boolean | undefined; targetDirOverrides?: Partial> | undefined; symlinkFnOverride?: ((target: string, path: string, type: "junction" | "dir") => void) | undefined; collisionStampFn?: (() => string) | undefined; } export declare function getRuntimeTargetDir(runtime: Runtime): string; export declare function getBundledSkillsDir(): string; export declare function listBundledSkills(sourceDir: string): readonly string[]; export declare function symlinkSkillsTriRuntime(opts?: SymlinkSkillsOptions): SymlinkResult; export declare const symlinkSkillsTestDependencies: { runFromPackageRoot(opts: SymlinkSkillsOptions, packageRoot: string): SymlinkResult; }; //# sourceMappingURL=symlink.d.ts.map