import { IExtensionHost, IExtensionHostService, IExtensionProps, IExtensionWorkerHost, JSONType } from '../common'; import { VSCodeExtensionService } from '../common/vscode'; import type vscode from 'vscode'; export declare abstract class Extension implements vscode.Extension { private readonly metadata; protected readonly extensionService: S; protected readonly mainThreadExtensionService: VSCodeExtensionService; readonly id: string; readonly extensionPath: string; readonly _isActive: boolean; readonly packageJSON: any; readonly extensionKind: vscode.ExtensionKind; readonly extendConfig: JSONType; readonly l10n?: string; readonly extensionUri: vscode.Uri; private readonly _exports; constructor(metadata: IExtensionProps, extensionService: S, mainThreadExtensionService: VSCodeExtensionService, exportsData?: T); get isActive(): boolean; get exports(): any; /** * Activates this extension and returns its public API. * * @return A promise that will resolve when this extension has been activated. */ activate(): Promise; } export declare class KTExtension extends Extension { private _extendExportsData; constructor(metadata: IExtensionProps, extensionService: IExtensionHostService, mainThreadExtensionService: VSCodeExtensionService, exportsData?: T, extendExportsData?: any); get extendExports(): any; } /** * 与 VSCExtension 的区别是,没有 extendExports * 对于纯 worker 的插件来说,其导出的 API 应该是与 VS Code 保持一致的,即只需要 `extension.exports` 即可 */ export declare class KTWorkerExtension extends Extension { readonly workerScriptPath: string; constructor(metadata: IExtensionProps, extensionService: IExtensionWorkerHost, mainThreadExtensionService: VSCodeExtensionService, exportsData?: T); } //# sourceMappingURL=vscode.extension.d.ts.map