import { Uri, WithEventBus } from '@opensumi/ide-core-browser';
import { IExtension, IExtensionMetaData, IExtensionProps, JSONType } from '../common';
export declare class Extension extends WithEventBus implements IExtension {
    private extensionData;
    isUseEnable: boolean;
    isBuiltin: boolean;
    isDevelopment: boolean;
    readonly id: string;
    readonly extensionId: string;
    readonly name: string;
    readonly extraMetadata: JSONType;
    readonly packageJSON: JSONType;
    readonly defaultPkgNlsJSON: JSONType | undefined;
    readonly packageNlsJSON: JSONType | undefined;
    readonly path: string;
    readonly realPath: string;
    readonly extendConfig: JSONType;
    readonly enableProposedApi: boolean;
    readonly extensionLocation: Uri;
    readonly uri?: Uri;
    private _activated;
    private _activating?;
    private _enabled;
    private readonly logger;
    private readonly extMetadataService;
    private readonly extensionService;
    private readonly staticResourceService;
    private readonly extensionInstanceManageService;
    private readonly extensionNodeClient;
    private pkgLocalizedField;
    constructor(extensionData: IExtensionMetaData, isUseEnable: boolean, isBuiltin: boolean, isDevelopment: boolean);
    localize(key: string): string;
    get activated(): boolean;
    get enabled(): boolean;
    set enabled(enable: boolean);
    get icon(): any;
    getDefaultIcon(): Promise<string>;
    disable(): void;
    enable(): void;
    /**
     * 激活插件的 nls 语言包
     * 激活插件的 contributes 贡献点
     */
    initialize(): void;
    activate(visited?: Set<string>): Promise<void>;
    get contributes(): any;
    reset(): void;
    get displayName(): string;
    toJSON(): IExtensionProps;
}
//# sourceMappingURL=extension.d.ts.map