/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

import { IExtensionIdentifier } from '../../extensions/common/extensions.mjs';
import { ISyncExtension, ISyncExtensionWithVersion } from './userDataSync.mjs';
export interface IMergeResult {
	readonly local: {
		added: ISyncExtension[];
		removed: IExtensionIdentifier[];
		updated: ISyncExtension[];
	};
	readonly remote: {
		added: ISyncExtension[];
		removed: ISyncExtension[];
		updated: ISyncExtension[];
		all: ISyncExtension[];
	} | null;
}
export declare function merge(
	localExtensions: ISyncExtensionWithVersion[],
	remoteExtensions: ISyncExtension[] | null,
	lastSyncExtensions: ISyncExtension[] | null,
	skippedExtensions: ISyncExtension[],
	ignoredExtensions: string[],
	lastSyncBuiltinExtensions: IExtensionIdentifier[],
): IMergeResult;
