
import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
import { localize } from '../../../../nls.js';
import { BINARY_DIFF_EDITOR_ID } from '../../../common/editor.js';
import { ITelemetryService } from '../../../../platform/telemetry/common/telemetry.service.js';
import { IThemeService } from '../../../../platform/theme/common/themeService.service.js';
import { SideBySideEditor } from './sideBySideEditor.js';
import { IInstantiationService } from '../../../../platform/instantiation/common/instantiation.js';
import { BaseBinaryResourceEditor } from './binaryEditor.js';
import { IStorageService } from '../../../../platform/storage/common/storage.service.js';
import { IConfigurationService } from '../../../../platform/configuration/common/configuration.service.js';
import { ITextResourceConfigurationService } from '../../../../editor/common/services/textResourceConfiguration.service.js';
import { IEditorGroupsService } from '../../../services/editor/common/editorGroupsService.service.js';
import { IEditorService } from '../../../services/editor/common/editorService.service.js';

let BinaryResourceDiffEditor = class BinaryResourceDiffEditor extends SideBySideEditor {
    static {
        this.ID = BINARY_DIFF_EDITOR_ID;
    }
    constructor(
        group,
        telemetryService,
        instantiationService,
        themeService,
        storageService,
        configurationService,
        textResourceConfigurationService,
        editorService,
        editorGroupService
    ) {
        super(
            group,
            telemetryService,
            instantiationService,
            themeService,
            storageService,
            configurationService,
            textResourceConfigurationService,
            editorService,
            editorGroupService
        );
    }
    getMetadata() {
        const primary = this.getPrimaryEditorPane();
        const secondary = this.getSecondaryEditorPane();
        if (primary instanceof BaseBinaryResourceEditor && secondary instanceof BaseBinaryResourceEditor) {
            return localize(3112, "{0} ↔ {1}", secondary.getMetadata(), primary.getMetadata());
        }
        return undefined;
    }
};
BinaryResourceDiffEditor = ( __decorate([( __param(1, ITelemetryService)), ( __param(2, IInstantiationService)), ( __param(3, IThemeService)), ( __param(4, IStorageService)), ( __param(5, IConfigurationService)), ( __param(6, ITextResourceConfigurationService)), ( __param(7, IEditorService)), ( __param(8, IEditorGroupsService))], BinaryResourceDiffEditor));

export { BinaryResourceDiffEditor };
