import { IDisposable } from '@opensumi/ide-core-common'; import { ExtensionHostType } from '.'; import type vscode from 'vscode'; export declare class ExtensionActivationTimes { readonly startup: boolean; readonly codeLoadingTime: number; readonly activateCallTime: number; readonly activateResolvedTime: number; static readonly NONE: ExtensionActivationTimes; constructor(startup: boolean, codeLoadingTime: number, activateCallTime: number, activateResolvedTime: number); } export interface IExtensionModule { activate?(ctx: vscode.ExtensionContext): Promise; deactivate?(): void; } export interface IExtensionAPI { } export interface IExtendExportAPI { } export interface ActivatedExtensionJSON { id: string; host: ExtensionHostType; activationFailed: boolean; activationFailedError: Error | null; activateCallTime?: number; } export declare class ActivatedExtension { readonly id: string; readonly displayName: string; readonly description: string; readonly host: ExtensionHostType; readonly activationFailed: boolean; readonly activationFailedError: Error | null; readonly module: IExtensionModule; readonly exports: IExtensionAPI | undefined; readonly subscriptions: IDisposable[]; readonly activationTimes?: ExtensionActivationTimes | undefined; readonly extendExports?: IExtendExportAPI | undefined; readonly extendModule?: IExtensionModule | undefined; constructor(id: string, displayName: string, description: string, host: ExtensionHostType, activationFailed: boolean, activationFailedError: Error | null, module: IExtensionModule, exports: IExtensionAPI | undefined, subscriptions: IDisposable[], activationTimes?: ExtensionActivationTimes | undefined, extendExports?: IExtendExportAPI | undefined, extendModule?: IExtensionModule | undefined); toJSON(): { id: string; displayName: string; description: string; host: ExtensionHostType; activationFailed: boolean; activationFailedError: Error | null; activateCallTime: number | undefined; }; } export declare class ExtensionsActivator { private logger; private readonly activatedExtensions; constructor(logger?: any); has(id: string): boolean; set(id: string, extension: ActivatedExtension): Map; get(id: string): ActivatedExtension | undefined; all(): ActivatedExtension[]; delete(id: string): boolean; private doDeactivate; deactivate(): Promise; } //# sourceMappingURL=activator.d.ts.map