import type { Lix } from "../lix/open-lix.js"; import type { LixCommit } from "../commit/schema-definition.js"; import type { LixVersion } from "./schema-definition.js"; /** * Creates a new version that starts at a specific commit. * * - Points the new version's `commit_id` to the provided commit. * - Generates a fresh `working_commit_id` that references an empty change set (global scope). * - Does not modify the active version or any other versions. * - Inheritance lineage is controlled via `inheritsFrom` and defaults to `"global"`. * * @param args.lix - The Lix instance. * @param args.commit - The commit to branch from (only `id` is required). * @param args.id - Optional explicit version id. * @param args.name - Optional version name. * @param args.inheritsFrom - Optional lineage: a parent version to inherit from, or `null` to disable; defaults to `"global"`. * * @example * // Branch from a commit * const v = await createVersionFromCommit({ lix, commit }); * * @example * // Custom id and name * const v = await createVersionFromCommit({ lix, commit, id: "my-id", name: "My Branch" }); * * @example * // Inherit from a specific version * const parent = await createVersion({ lix, name: "base" }); * const v = await createVersionFromCommit({ lix, commit, inheritsFrom: parent }); * * @example * // Opt-out of inheritance * const v = await createVersionFromCommit({ lix, commit, inheritsFrom: null }); * * @throws If the provided commit id does not exist. */ export declare function createVersionFromCommit(args: { lix: Lix; commit: Pick; id?: LixVersion["id"]; name?: LixVersion["name"]; inheritsFrom?: LixVersion | Pick | null; }): Promise; //# sourceMappingURL=create-version-from-commit.d.ts.map