import { Injector } from '@opensumi/di'; import { IRPCProtocol } from '@opensumi/ide-connection/lib/common/rpc/multiplexer'; import { IDisposable } from '@opensumi/ide-core-common'; import { IExtension } from '..'; export interface IBrowserRequireInterceptorArgs { injector: Injector; extension: IExtension; rpcProtocol?: IRPCProtocol; } export interface IRequireInterceptor { moduleName: string; load(request: T): any; } export declare const IRequireInterceptorService: unique symbol; export interface IRequireInterceptorService { registerRequireInterceptor(interceptor: IRequireInterceptor): IDisposable; getRequireInterceptor(moduleName: string): IRequireInterceptor | undefined; } export declare const RequireInterceptorContribution: unique symbol; export interface RequireInterceptorContribution { registerRequireInterceptor(registry: IRequireInterceptorService): void; } export declare class RequireInterceptorService implements IRequireInterceptorService { private readonly logger; private readonly registry; registerRequireInterceptor(interceptor: IRequireInterceptor): IDisposable; getRequireInterceptor(moduleName: string): IRequireInterceptor | undefined; } //# sourceMappingURL=require-interceptor.d.ts.map