import * as theia from '@theia/plugin'; import { interfaces } from '@theia/core/shared/inversify'; import { WorkspaceExt, WorkspaceMain, WorkspaceFolderPickOptionsMain, FindFilesOptions } from '../../common/plugin-api-rpc'; import { RPCProtocol } from '../../common/rpc-protocol'; import { UriComponents } from '../../common/uri-components'; import URI from '@theia/core/lib/common/uri'; import { CanonicalUriService } from '@theia/workspace/lib/browser'; import { Resource } from '@theia/core/lib/common/resource'; import { Disposable, DisposableCollection } from '@theia/core/lib/common/disposable'; import { Event, ResourceResolver } from '@theia/core'; import { FileStat } from '@theia/filesystem/lib/common/files'; export declare class WorkspaceMainImpl implements WorkspaceMain, Disposable { private readonly proxy; private storageProxy; private monacoQuickInputService; private fileSearchService; private searchInWorkspaceService; private roots; private resourceResolver; private pluginServer; private requestService; private workspaceService; protected readonly canonicalUriService: CanonicalUriService; private workspaceTrustService; private encodingRegistry; private fsPreferences; private preferenceService; protected readonly toDispose: DisposableCollection; protected workspaceSearch: Set; protected readonly canonicalUriProviders: Map; constructor(rpc: RPCProtocol, container: interfaces.Container); dispose(): void; $resolveProxy(url: string): Promise; protected processWorkspaceFoldersChanged(roots: string[]): Promise; private isAnyRootChanged; $getWorkspace(): Promise; $pickWorkspaceFolder(options: WorkspaceFolderPickOptionsMain): Promise; $startFileSearch(includePattern: string, includeFolderUri: string | undefined, options: FindFilesOptions): Promise; $findTextInFiles(query: theia.TextSearchQuery, options: theia.FindTextInFilesOptions, searchRequestId: number, token?: theia.CancellationToken): Promise; $registerTextDocumentContentProvider(scheme: string): Promise; $unregisterTextDocumentContentProvider(scheme: string): void; $onTextDocumentContentChange(uri: string, content: string): void; $updateWorkspaceFolders(start: number, deleteCount?: number, ...rootsToAdd: string[]): Promise; $requestWorkspaceTrust(_options?: theia.WorkspaceTrustRequestOptions): Promise; $registerCanonicalUriProvider(scheme: string): Promise; $unregisterCanonicalUriProvider(scheme: string): void; $getCanonicalUri(uri: string, targetScheme: string, token: theia.CancellationToken): Promise; $resolveDecoding(resource: UriComponents | undefined, options?: { encoding?: string; }): Promise<{ preferredEncoding: string; guessEncoding: boolean; }>; $resolveEncoding(resource: UriComponents | undefined, options?: { encoding?: string; }): Promise<{ encoding: string; hasBOM: boolean; }>; $getValidEncoding(uri: UriComponents | undefined, detectedEncoding: string | undefined, options: { encoding: string; } | undefined): Promise; getPreferredReadEncoding(uri: UriComponents | undefined, options?: { encoding?: string; }, detectedEncoding?: string): Promise; } /** * Text content provider for resources with custom scheme. */ export interface TextContentResourceProvider { /** * Provides resource for given URI */ provideResource(uri: URI): Resource; } export declare class TextContentResourceResolver implements ResourceResolver { private providers; private resources; resolve(uri: URI): Promise; registerContentProvider(scheme: string, proxy: WorkspaceExt): void; unregisterContentProvider(scheme: string): void; onContentChange(uri: string, content: string): void; } export declare class TextContentResource implements Resource { uri: URI; private proxy; protected disposable: Disposable; private onDidChangeContentsEmitter; readonly onDidChangeContents: Event; cache: string | undefined; constructor(uri: URI, proxy: WorkspaceExt, disposable: Disposable); readContents(options?: { encoding?: string; }): Promise; dispose(): void; setContent(content: string): void; } //# sourceMappingURL=workspace-main.d.ts.map