import type { OutputContext } from '../output';
import type { EntryMergeConflict, EntryMergeDecision } from './entryMerge';
import type { RemoteEntryMergePlan } from './entryMergePlan';
export type RemoteEntryMergeJsonReport = Readonly<{
    kind: 'push';
    scope: 'entries';
    mergeRemote: true;
    dryRun: boolean;
    summary: RemoteEntryMergePlan['summary'];
    decisions: readonly RemoteEntryMergeDecisionReport[];
}>;
export type RemoteEntryMergeDecisionReport = Readonly<{
    kind: EntryMergeDecision['kind'];
    contentType: string;
    identifier: string;
    localFieldPaths?: readonly string[];
    remoteFieldPaths?: readonly string[];
    conflict?: Readonly<{
        code: EntryMergeConflict['code'];
        fieldPath?: string;
        message: string;
    }>;
}>;
export declare function remoteEntryMergeJsonReport(input: Readonly<{
    plan: RemoteEntryMergePlan;
    dryRun: boolean;
}>): RemoteEntryMergeJsonReport;
export declare function writeRemoteEntryMergeHumanReport(output: Pick<OutputContext, 'info'>, plan: RemoteEntryMergePlan, options: Readonly<{
    dryRun: boolean;
}>): void;
