import { TreeEntry, WalkerEntry } from 'isomorphic-git'; import { AcceptedConflict, ChangedFile, ConflictResolutionStrategies } from '../types'; import { GitDDBInterface } from '../types_gitddb'; import { SyncInterface } from '../types_sync'; /** * merge * * @throws Errors from {@link threeWayMerge} * * @internal */ export declare function merge(gitDDB: GitDDBInterface, sync: SyncInterface, baseCommitOid: string, oursCommitOid: string, theirsCommitOid: string): Promise<[string, ChangedFile[], ChangedFile[], AcceptedConflict[]]>; /** * 3-way merge * * @throws {@link Err.InvalidConflictStateError} * @throws {@link Err.CannotDeleteDataError} * * @throws # Errors from getMergedDocument * @throws - {@link Err.InvalidDocTypeError} * @throws - {@link Err.InvalidConflictResolutionStrategyError} * * @throws # Errors from writeBlobToFile * @throws - {@link Err.CannotCreateDirectoryError} * * @throws # Errors from getFatDocFromData, getFatDocFromReadBlobResult * @throws - {@link Err.InvalidJsonObjectError} * */ export declare function threeWayMerge(gitDDB: GitDDBInterface, sync: SyncInterface, conflictResolutionStrategy: ConflictResolutionStrategies, fullDocPath: string, base: WalkerEntry | null, ours: WalkerEntry | null, theirs: WalkerEntry | null): Promise<[ TreeEntry | undefined, ChangedFile | undefined, ChangedFile | undefined, AcceptedConflict | undefined ]>; //# sourceMappingURL=3way_merge.d.ts.map