import type { Event, FileSystem, NotebookData, NotebookDocument, NotebookDocumentChangeEvent, ResourceTrustRequestOptions, TextDocument, TextDocumentChangeEvent, TextEditorSelectionChangeEvent, Uri, WorkspaceEdit, WorkspaceFolder, WorkspaceFoldersChangeEvent, WorkspaceTrustRequestOptions } from 'vscode'; import { Emitter } from '../../../util/vs/base/common/event'; import { IDisposable } from '../../../util/vs/base/common/lifecycle'; import { URI } from '../../../util/vs/base/common/uri'; import { NotebookDocumentSnapshot } from '../../editing/common/notebookDocumentSnapshot'; import { TextDocumentSnapshot } from '../../editing/common/textDocumentSnapshot'; export declare const IWorkspaceService: import("../../../util/common/services").ServiceIdentifier; export interface IWorkspaceService { readonly _serviceBrand: undefined; textDocuments: readonly TextDocument[]; notebookDocuments: readonly NotebookDocument[]; readonly onDidOpenTextDocument: Event; readonly onDidCloseTextDocument: Event; readonly onDidOpenNotebookDocument: Event; readonly onDidCloseNotebookDocument: Event; readonly onDidChangeTextDocument: Event; readonly onDidChangeNotebookDocument: Event; readonly onDidChangeWorkspaceFolders: Event; readonly onDidChangeTextEditorSelection: Event; openTextDocument(uri: Uri): Promise; fs: FileSystem; showTextDocument(document: TextDocument): Promise; openTextDocumentAndSnapshot(uri: Uri): Promise; openNotebookDocumentAndSnapshot(uri: Uri, format: 'xml' | 'json' | 'text'): Promise; openNotebookDocument(uri: Uri): Promise; openNotebookDocument(notebookType: string, content?: NotebookData): Promise; getWorkspaceFolders(): URI[]; getWorkspaceFolder(resource: URI): URI | undefined; getWorkspaceFolderName(workspaceFolderUri: URI): string; showWorkspaceFolderPicker(): Promise; asRelativePath(pathOrUri: string | Uri, includeWorkspaceFolder?: boolean): string; applyEdit(edit: WorkspaceEdit): Thenable; /** * Ensures that the workspace has fully loaded before returning. This is useful for * virtual workspaces where we need to ensure that the contents of the workspace * has been downloaded before we can use them. */ ensureWorkspaceIsFullyLoaded(): Promise; isResourceTrusted(resource: Uri): Thenable; requestResourceTrust(options: ResourceTrustRequestOptions): Thenable; requestWorkspaceTrust(options?: WorkspaceTrustRequestOptions): Thenable; } export declare abstract class AbstractWorkspaceService implements IWorkspaceService { readonly _serviceBrand: undefined; abstract textDocuments: readonly TextDocument[]; abstract notebookDocuments: readonly NotebookDocument[]; abstract readonly onDidOpenTextDocument: Event; abstract readonly onDidCloseTextDocument: Event; abstract readonly onDidOpenNotebookDocument: Event; abstract readonly onDidCloseNotebookDocument: Event; abstract readonly onDidChangeTextDocument: Event; abstract readonly onDidChangeWorkspaceFolders: Event; abstract readonly onDidChangeNotebookDocument: Event; abstract readonly onDidChangeTextEditorSelection: Event; abstract openTextDocument(uri: Uri): Promise; abstract fs: FileSystem; abstract showTextDocument(document: TextDocument): Promise; abstract openNotebookDocument(uri: Uri): Promise; abstract openNotebookDocument(notebookType: string, content?: NotebookData): Promise; abstract getWorkspaceFolders(): URI[]; abstract ensureWorkspaceIsFullyLoaded(): Promise; abstract showWorkspaceFolderPicker(): Promise; abstract getWorkspaceFolderName(workspaceFolderUri: URI): string; abstract applyEdit(edit: WorkspaceEdit): Thenable; abstract isResourceTrusted(resource: Uri): Thenable; abstract requestResourceTrust(options: ResourceTrustRequestOptions): Thenable; abstract requestWorkspaceTrust(options?: WorkspaceTrustRequestOptions): Thenable; asRelativePath(pathOrUri: string | Uri, includeWorkspaceFolder?: boolean): string; openTextDocumentAndSnapshot(uri: Uri): Promise; openNotebookDocumentAndSnapshot(uri: Uri, format: 'xml' | 'json' | 'text'): Promise; getWorkspaceFolder(resource: URI): URI | undefined; } export declare function getWorkspaceFileDisplayPath(workspaceService: IWorkspaceService, file: URI): string; export declare class NullWorkspaceService extends AbstractWorkspaceService implements IDisposable { fs: FileSystem; private readonly disposables; readonly didOpenTextDocumentEmitter: Emitter; readonly didCloseTextDocumentEmitter: Emitter; readonly didOpenNotebookDocumentEmitter: Emitter; readonly didCloseNotebookDocumentEmitter: Emitter; readonly didChangeTextDocumentEmitter: Emitter; readonly didChangeWorkspaceFoldersEmitter: Emitter; readonly didChangeNotebookDocumentEmitter: Emitter; readonly didChangeTextEditorSelectionEmitter: Emitter; readonly onDidChangeTextDocument: import("../../../util/vs/base/common/event").Event; readonly onDidCloseTextDocument: import("../../../util/vs/base/common/event").Event; readonly onDidOpenNotebookDocument: import("../../../util/vs/base/common/event").Event; readonly onDidCloseNotebookDocument: import("../../../util/vs/base/common/event").Event; readonly onDidOpenTextDocument: import("../../../util/vs/base/common/event").Event; readonly onDidChangeWorkspaceFolders: import("../../../util/vs/base/common/event").Event; readonly onDidChangeNotebookDocument: import("../../../util/vs/base/common/event").Event; readonly onDidChangeTextEditorSelection: import("../../../util/vs/base/common/event").Event; private readonly workspaceFolder; private readonly _textDocuments; private readonly _notebookDocuments; constructor(workspaceFolders?: URI[], textDocuments?: TextDocument[], notebookDocuments?: NotebookDocument[]); get textDocuments(): TextDocument[]; showTextDocument(document: TextDocument): Promise; openTextDocument(uri: Uri): Promise; openNotebookDocument(uri: Uri): Promise; openNotebookDocument(notebookType: string, content?: NotebookData): Promise; get notebookDocuments(): readonly NotebookDocument[]; getWorkspaceFolders(): URI[]; getWorkspaceFolderName(workspaceFolderUri: URI): string; ensureWorkspaceIsFullyLoaded(): Promise; showWorkspaceFolderPicker(): Promise; applyEdit(): Promise; dispose(): void; isResourceTrusted(_resource: Uri): Thenable; requestResourceTrust(options: ResourceTrustRequestOptions): Thenable; requestWorkspaceTrust(options?: WorkspaceTrustRequestOptions): Thenable; } //# sourceMappingURL=workspaceService.d.ts.map