/** A clean union that satisfies every budget. */
export interface LearningsMergeMerged {
    readonly kind: "merged";
    /** Canonical merged document, ready to publish. */
    readonly content: string;
}
/** The merge cannot be completed without losing information. */
export interface LearningsMergeConflict {
    readonly kind: "conflict";
    /** Single-line, operator-facing explanation. */
    readonly reason: string;
}
/** Closed outcome of one ledger merge. */
export type LearningsMergeResult = LearningsMergeMerged | LearningsMergeConflict;
/**
 * Merge two divergent ledger versions against their common ancestor.
 * @param base - Merge-base document, or undefined when the file is new on both sides
 * @param ours - Current-branch document
 * @param theirs - Incoming-branch document
 * @returns Canonical merged document, or a conflict with a reason
 */
export declare function mergeLearningsDocuments(base: string | undefined, ours: string, theirs: string): LearningsMergeResult;
//# sourceMappingURL=learnings-merge.d.ts.map