/**
 * Copyright (c) 2020-present, Goldman Sachs
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
import type { EditorStore } from '../EditorStore.js';
import type { EditorSDLCState } from '../EditorSDLCState.js';
import { type GeneratorFn } from '@finos/legend-shared';
import { EntityChangeConflictEditorState } from '../editor-state/entity-diff-editor-state/EntityChangeConflictEditorState.js';
import { type EntityChangeConflict, type EntityChangeConflictResolution, EntityDiff } from '@finos/legend-server-sdlc';
import { AbstractConflictResolutionState } from '../AbstractConflictResolutionState.js';
export declare class WorkspaceUpdateConflictResolutionState extends AbstractConflictResolutionState {
    isInitializingConflictResolution: boolean;
    hasResolvedAllConflicts: boolean;
    isAcceptingConflictResolution: boolean;
    isDiscardingConflictResolutionChanges: boolean;
    isAbortingConflictResolution: boolean;
    constructor(editorStore: EditorStore, sdlcState: EditorSDLCState);
    get resolutions(): EntityChangeConflictResolution[];
    get conflicts(): EntityChangeConflict[];
    get resolvedChanges(): EntityDiff[];
    get changes(): EntityDiff[];
    openConflict(conflict: EntityChangeConflict): void;
    closeConflict(conflict: EntityChangeConflictEditorState): void;
    resolveConflict(resolution: EntityChangeConflictResolution): void;
    markConflictAsResolved(conflictState: EntityChangeConflictEditorState): GeneratorFn<void>;
    confirmHasResolvedAllConflicts(): void;
    initProjectConfigurationInConflictResolutionMode(): GeneratorFn<void>;
    private initChangeDetectionInConflictResolutionMode;
    initialize(): GeneratorFn<void>;
    buildGraphInConflictResolutionMode(): GeneratorFn<void>;
    buildConflictResolutionLatestRevisionEntityHashesIndex(): GeneratorFn<void>;
    buildConflictResolutionBaseRevisionEntityHashesIndex(): GeneratorFn<void>;
    acceptConflictResolution(): GeneratorFn<void>;
    discardConflictResolutionChanges(): GeneratorFn<void>;
    abortConflictResolution(): GeneratorFn<void>;
    openConflictResolutionChange(diff: EntityDiff): void;
    /**
     * Check for remaining conflicts, if none left, prompt the users for the next action
     */
    promptBuildGraphAfterAllConflictsResolved(): GeneratorFn<void>;
}
//# sourceMappingURL=WorkspaceUpdateConflictResolutionState.d.ts.map