/**
 * 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, ActionState } from '@finos/legend-shared';
import { type NewVersionType, CreateVersionCommand, Revision, Version, Workspace, Review, Patch, type WorkspaceType } from '@finos/legend-server-sdlc';
export declare enum PROJECT_OVERVIEW_ACTIVITY_MODE {
    RELEASE = "RELEASE",
    OVERVIEW = "OVERVIEW",
    VERSIONS = "VERSIONS",
    WORKSPACES = "WORKSPACES",
    PATCH = "PATCH"
}
export declare class ProjectOverviewState {
    editorStore: EditorStore;
    sdlcState: EditorSDLCState;
    activityMode: PROJECT_OVERVIEW_ACTIVITY_MODE;
    releaseVersion: CreateVersionCommand;
    committedReviewsBetweenMostRecentVersionAndProjectLatest: Review[];
    latestProjectVersion?: Version | null;
    currentProjectRevision?: Revision | undefined;
    projectWorkspaces: Workspace[];
    patches: Patch[];
    isCreatingVersion: boolean;
    isFetchingProjectWorkspaces: boolean;
    isDeletingWorkspace: boolean;
    updatingProjectState: ActionState;
    isFetchingLatestVersion: boolean;
    isFetchingCurrentProjectRevision: boolean;
    createPatchState: ActionState;
    constructor(editorStore: EditorStore, sdlcState: EditorSDLCState);
    setActivityMode(activityMode: PROJECT_OVERVIEW_ACTIVITY_MODE): void;
    fetchProjectWorkspaces(): GeneratorFn<void>;
    deleteWorkspace(workspace: Workspace): GeneratorFn<void>;
    updateProject(name: string, description: string, tags: string[]): GeneratorFn<void>;
    fetchPatches(): GeneratorFn<void>;
    fetchLatestProjectVersion(): GeneratorFn<void>;
    createVersion(versionType: NewVersionType): GeneratorFn<void>;
    createPatchVersion(id: string): GeneratorFn<void>;
    createPatch(sourceVersion: string, workspaceName: string, workspaceType: WorkspaceType): GeneratorFn<void>;
}
//# sourceMappingURL=ProjectOverviewState.d.ts.map