import type { Provenance } from "../studio/types.js"; import type { ForkProvenance } from "./types.js"; export interface WriteForkProvenanceArgs { /** Where to write the .vskill-meta.json (typically the .tmp staging dir). */ targetSkillDir: string; /** New `forkedFrom` record describing the immediate parent. */ forkedFrom: ForkProvenance; /** Optional pre-read source provenance — when omitted, the helper reads it from `sourceSkillDir`. */ sourceProvenance?: Provenance | null; /** Source skill directory. Used to read prior sidecar when `sourceProvenance` is not supplied. */ sourceSkillDir?: string; /** Source absolute path — recorded as `sourcePath` for compatibility with the existing schema. */ sourcePath: string; /** Source version — recorded as `sourceSkillVersion`. */ sourceVersion?: string; } /** * Compute the merged Provenance object for a fresh fork without writing. * Exposed for unit tests and dry-run mode. */ export declare function computeForkProvenance(args: { forkedFrom: ForkProvenance; sourceProvenance: Provenance | null; sourcePath: string; sourceVersion?: string; }): Provenance; /** * Read the source skill's existing `.vskill-meta.json` (if any), compute the * merged fork provenance, and write it to the target directory's sidecar. * * The write is delegated to `writeProvenance` so the on-disk JSON shape is * identical to every other vskill flow that produces a sidecar. */ export declare function writeForkProvenance(args: WriteForkProvenanceArgs): Promise;