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<Provenance>;
