/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/
import { FormattingOptions } from "../../../base/common/jsonFormatter.mjs";
import { IConfigurationService } from "../../configuration/common/configuration.mjs";
import { IConflictSetting } from "./userDataSync.mjs";
export interface IMergeResult {
    localContent: string | null;
    remoteContent: string | null;
    hasConflicts: boolean;
    conflictsSettings: IConflictSetting[];
}
export declare function getIgnoredSettings(defaultIgnoredSettings: string[], configurationService: IConfigurationService, settingsContent?: string): string[];
export declare function removeComments(content: string, formattingOptions: FormattingOptions): string;
export declare function updateIgnoredSettings(targetContent: string, sourceContent: string, ignoredSettings: string[], formattingOptions: FormattingOptions): string;
export declare function merge(originalLocalContent: string, originalRemoteContent: string, baseContent: string | null, ignoredSettings: string[], resolvedConflicts: {
    key: string;
    value: any | undefined;
}[], formattingOptions: FormattingOptions): IMergeResult;
export declare function areSame(localContent: string, remoteContent: string, ignoredSettings: string[]): boolean;
export declare function isEmpty(content: string): boolean;
export declare function addSetting(key: string, sourceContent: string, targetContent: string, formattingOptions: FormattingOptions): string;
