import { Uri } from '@opensumi/ide-core-common'; import { IExtendProxy, IExtensionHost, IExtensionProps } from '../../../common'; import { IExtHostStorage, IExtHostTerminal } from '../../../common/vscode'; import { ExtensionMode } from '../../../common/vscode/ext-types'; import { KTExtension, KTWorkerExtension } from '../../vscode.extension'; import { ExtHostSecret, ExtensionSecrets } from './ext.host.secrets'; import { ExtensionGlobalMemento, ExtensionMemento } from './ext.host.storage'; import type vscode from 'vscode'; export interface IKTContextOptions { extensionId: string; extensionPath: string; extensionLocation: Uri; extensionDescription: IExtensionProps; storageProxy: IExtHostStorage; secretProxy: ExtHostSecret; extendProxy?: IExtendProxy; isDevelopment?: boolean; registerExtendModuleService?: (exportsData: any) => void; exthostTerminal?: IExtHostTerminal; createExtension: (extensionDescription: IExtensionProps) => KTExtension | KTWorkerExtension; } export interface IKTExtensionContext { readonly componentProxy: IExtendProxy | undefined; readonly registerExtendModuleService: ((moduleExports: any) => void) | undefined; readonly subscriptions: { dispose(): any; }[]; readonly extensionPath: string; /** * Get the absolute path of a resource contained in the extension. * * @param relativePath A relative path to a resource contained in the extension. * @return The absolute path of the resource. */ asAbsolutePath(relativePath: string): string; } export declare class ExtensionContext implements vscode.ExtensionContext, IKTExtensionContext { readonly subscriptions: { dispose(): any; }[]; readonly _extensionLocation: Uri; readonly _isDevelopment: boolean; readonly workspaceState: ExtensionMemento; readonly globalState: ExtensionGlobalMemento; readonly secrets: ExtensionSecrets; private createExtension; private _storage; private exthostTerminalService; private extensionDescription; componentProxy: IExtendProxy | undefined; registerExtendModuleService: ((exportsData: any) => void) | undefined; extensionId: string; constructor(options: IKTContextOptions); asAbsolutePath(relativePath: string): string; get extensionUri(): Uri; get extensionPath(): string; get storageUri(): Uri; get storagePath(): string; get logUri(): Uri; get logPath(): string; get globalStorageUri(): Uri; get globalStoragePath(): string; get extensionMode(): ExtensionMode.Production | ExtensionMode.Development; get environmentVariableCollection(): vscode.GlobalEnvironmentVariableCollection; get extension(): KTExtension | KTWorkerExtension; } export declare function createExtensionsApiFactory(extensionService: T): { all: import("../../vscode.extension").Extension[]; allAcrossExtensionHosts: import("../../vscode.extension").Extension[]; readonly onDidChange: import("@opensumi/ide-core-common").Event; getExtension(extensionId: string): import("../../vscode.extension").Extension | undefined; }; //# sourceMappingURL=ext.host.extensions.d.ts.map