import { Derivation, Version } from "../model/Version.js"; import { Belief } from "../model/Assumption.js"; import { EditionOp } from "./draft.js"; /** The derivations the version states beside its principal one, less any naming the parent. */ export declare const hypothesesBeside: (version: Readonly, parentId: string) => Derivation[]; /** * Makes the version stand on its own: what it inherited becomes its * own insertions, and its derivations go, the hypotheses among them. * Its edits now state its text rather than a change, and say nothing of * why they were made. * @category Operations */ export declare const detachVersion: (versionId: string) => EditionOp; /** * Takes the version out. Whatever read its text against it comes to * stand on its own, a hypothesis that something derives from it goes, * and so does a copy's statement that it carries the version. * @category Operations */ export declare const removeVersion: (versionId: string) => EditionOp; /** * Takes the symbols out of the version's own insertions, and the edits that had nothing else. * @category Operations */ export declare const removeSymbols: (versionId: string, symbolIds: readonly string[]) => EditionOp; /** * Moves the edits into a new version based on this one. * @category Operations */ export declare const deriveVersion: (versionId: string, editIds: readonly string[]) => EditionOp; /** * States that the version may also derive from the parent, beside what * it derives from already: a hypothesis, such as a contamination, under * the belief given. The text stays read against the principal derivation * unless the belief holds this one more certain. A version derives from * itself, twice from one parent, or from one of its own descendants in * no statement. * @category Operations */ export declare const stateDerivation: (versionId: string, parentId: string, belief?: Belief) => EditionOp; /** * Takes back the hypothesis that the version derives from the parent; the principal derivation goes with `detachVersion`. * @category Operations */ export declare const clearDerivation: (versionId: string, parentId: string) => EditionOp;