@sussudio/platform
Version:
Internal APIs for VS Code's service injection the base services.
50 lines (48 loc) • 2.57 kB
text/typescript
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { AddFirstParameterToFunctions } from '@sussudio/base/common/types.mjs';
import { URI } from '@sussudio/base/common/uri.mjs';
import { IBackupMainService } from '../../backup/electron-main/backup.mjs';
import { IWindowsMainService } from '../../windows/electron-main/windows.mjs';
import {
IEnterWorkspaceResult,
IRecent,
IRecentlyOpened,
IWorkspaceFolderCreationData,
IWorkspacesService,
} from '../common/workspaces.mjs';
import { IWorkspaceIdentifier } from '../../workspace/common/workspace.mjs';
import { IWorkspacesHistoryMainService } from './workspacesHistoryMainService.mjs';
import { IWorkspacesManagementMainService } from './workspacesManagementMainService.mjs';
import { IWorkspaceBackupInfo, IFolderBackupInfo } from '../../backup/common/backup.mjs';
export declare class WorkspacesMainService
implements AddFirstParameterToFunctions<IWorkspacesService, Promise<unknown>, number>
{
private readonly workspacesManagementMainService;
private readonly windowsMainService;
private readonly workspacesHistoryMainService;
private readonly backupMainService;
readonly _serviceBrand: undefined;
constructor(
workspacesManagementMainService: IWorkspacesManagementMainService,
windowsMainService: IWindowsMainService,
workspacesHistoryMainService: IWorkspacesHistoryMainService,
backupMainService: IBackupMainService,
);
enterWorkspace(windowId: number, path: URI): Promise<IEnterWorkspaceResult | undefined>;
createUntitledWorkspace(
windowId: number,
folders?: IWorkspaceFolderCreationData[],
remoteAuthority?: string,
): Promise<IWorkspaceIdentifier>;
deleteUntitledWorkspace(windowId: number, workspace: IWorkspaceIdentifier): Promise<void>;
getWorkspaceIdentifier(windowId: number, workspacePath: URI): Promise<IWorkspaceIdentifier>;
readonly onDidChangeRecentlyOpened: import('../../../base/common/event').Event<void>;
getRecentlyOpened(windowId: number): Promise<IRecentlyOpened>;
addRecentlyOpened(windowId: number, recents: IRecent[]): Promise<void>;
removeRecentlyOpened(windowId: number, paths: URI[]): Promise<void>;
clearRecentlyOpened(windowId: number): Promise<void>;
getDirtyWorkspaces(): Promise<Array<IWorkspaceBackupInfo | IFolderBackupInfo>>;
}