import type { UserDataService } from '@finos/legend-application';
import { SerializationFactory } from '@finos/legend-shared';
import { WorkspaceType } from '@finos/legend-server-sdlc';
/**
 * 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.
 */
export declare enum LEGEND_STUDIO_USER_DATA_KEY {
    GLOBAL_TEST_RUNNER_SHOW_DEPENDENCIES = "studio-editor.global-test-runner-showDependencyPanel",
    DATABASE_EDITOR_THEME = "studio-editor.database-editor.theme",
    WORKSPACE_SETUP_RECENTS = "studio-editor.workspace-setup.recents"
}
export declare class RecentProjectEntry {
    projectId: string;
    name: string;
    lastOpenedAt: number;
    static readonly serialization: SerializationFactory<RecentProjectEntry>;
}
export declare class RecentWorkspaceEntry {
    projectId: string;
    workspaceId: string;
    workspaceType: WorkspaceType;
    lastOpenedAt: number;
    static readonly serialization: SerializationFactory<RecentWorkspaceEntry>;
}
export declare class WorkspaceSetupRecents {
    version: number;
    projects: RecentProjectEntry[];
    workspaces: RecentWorkspaceEntry[];
    static readonly serialization: SerializationFactory<WorkspaceSetupRecents>;
}
export declare class LegendStudioUserDataHelper {
    static globalTestRunner_getShowDependencyPanel(service: UserDataService): boolean | undefined;
    static globalTestRunner_setShowDependencyPanel(service: UserDataService, val: boolean): void;
    static databaseEditor_getTheme(service: UserDataService): 'dark' | 'light' | undefined;
    static databaseEditor_setTheme(service: UserDataService, val: 'dark' | 'light'): void;
    static workspaceSetup_getRecentProjects(service: UserDataService): RecentProjectEntry[];
    static workspaceSetup_getRecentWorkspaces(service: UserDataService): RecentWorkspaceEntry[];
    static workspaceSetup_recordRecentProject(service: UserDataService, entry: {
        projectId: string;
        name: string;
    }): RecentProjectEntry[];
    static workspaceSetup_recordRecentWorkspace(service: UserDataService, entry: {
        projectId: string;
        workspaceId: string;
        workspaceType: WorkspaceType;
    }): RecentWorkspaceEntry[];
    static workspaceSetup_removeRecentProject(service: UserDataService, projectId: string): WorkspaceSetupRecents;
    static workspaceSetup_removeRecentWorkspace(service: UserDataService, entry: {
        projectId: string;
        workspaceId: string;
        workspaceType: WorkspaceType;
    }): RecentWorkspaceEntry[];
    static workspaceSetup_clearRecents(service: UserDataService): void;
}
//# sourceMappingURL=LegendStudioUserDataHelper.d.ts.map