import { IRPCProtocol } from '@opensumi/ide-connection';
import { Disposable, IExtensionProps } from '@opensumi/ide-core-common';
import { IExtension } from '../common';
import { ActivatedExtensionJSON } from '../common/activator';
import { AbstractViewExtProcessService } from '../common/extension.service';
export declare class ViewExtProcessService extends Disposable implements AbstractViewExtProcessService {
    /**
     * TODO: 支持底部面板多视图展示
     * should replace view component
     */
    static tabBarLocation: string[];
    private readonly injector;
    private readonly logger;
    private readonly appConfig;
    private readonly toolbarPopoverRegistry;
    private readonly workerExtensionService;
    private readonly nodeExtensionService;
    private readonly staticResourceService;
    private readonly requireInterceptorContributionProvider;
    private readonly requireInterceptorService;
    private readonly reporterService;
    private readonly scmService;
    private readonly debugLogger;
    private extensions;
    activatedViewExtensionMap: Map<string, IExtension>;
    getExtension(extensionId: string): IExtension | undefined;
    initExtension(extensions: IExtension[]): Promise<void>;
    getActivatedExtensions(): Promise<ActivatedExtensionJSON[]>;
    getProxy(): void;
    $activateExtension(extensionPath: string): Promise<void>;
    $getExtensions(): Promise<IExtensionProps[]>;
    disposeProcess(): Promise<void>;
    activate(): void;
    private extendExtensionErrorStackTrace;
    private reportRuntimeError;
    /**
     * @see [KtViewLocation](#KtViewLocation) view location
     */
    private getRegisterViewKind;
    activeExtension(extension: IExtension, protocol: IRPCProtocol): Promise<void>;
    private activeExtensionContributes;
    /**
     * @deprecated 废弃的用法兼容
     * 对于老的 kaitian.js 的兼容激活
     */
    private activateExtensionByDeprecatedExtendConfig;
    private getExtensionModuleExports;
    private registerBrowserComponent;
    private getExtensionExtendService;
    private createExtensionExtendProtocol;
    private createExtendProxy;
    private dollarProxy;
    private getModuleExportsComponent;
    private portalShadowRootMap;
    private shadowRootBodyMap;
    private registerPortalShadowRoot;
    getPortalShadowRoot(extensionId: string): ShadowRoot | undefined;
    getShadowRootBody(id: string): HTMLBodyElement | undefined;
    private doFetch;
    private getSumiAMDLoader;
    private loadBrowserModule;
    private normalizeDeprecatedViewsConfig;
    /**
     * 对于使用 kaitian.js 方式注册的 UI ，使用 default 导出
     * @example
     * ```ts
     * export default {
     *    left: {...},
     *    right: {...}
     * }
     * ```
     * 使用 browserViews Contributes 注册的 UI，不使用 default 导出，因为这种入口只导出组件，不包含 UI 相关配置
     * @example
     * ```ts
     * export const Component = {...};
     * export const ComponentB = {...};
     * ```
     */
    private loadBrowserModuleUseInterceptor;
}
//# sourceMappingURL=extension-view.service.d.ts.map