import { IRPCProtocol, ProxyIdentifier } from '@opensumi/ide-connection'; import { IExtHostChatAgents, IMainThreadChatAgents } from './chat-agents'; import { IExtHostCommon, IMainThreadCommon } from './common'; import { IExtHostLayout, IMainThreadLayout } from './layout'; import { IExtHostLifeCycle, IMainThreadLifeCycle } from './lifecycle'; import { IExtHostTheme, IMainThreadTheme } from './theme'; import { IExtHostToolbar, IMainThreadToolbar } from './toolbar'; import { IExtHostIDEWindow, IMainThreadIDEWindow } from './window'; export declare const MainThreadSumiAPIIdentifier: { MainThreadLifecycle: ProxyIdentifier; MainThreadTheme: ProxyIdentifier; MainThreadLayout: ProxyIdentifier; MainThreadCommon: ProxyIdentifier; MainThreadToolbar: ProxyIdentifier; MainThreadIDEWindow: ProxyIdentifier; MainThreadChatAgents: ProxyIdentifier; }; export declare const ExtHostSumiAPIIdentifier: { ExtHostLifeCycle: ProxyIdentifier; ExtHostLayout: ProxyIdentifier; ExtHostTheme: ProxyIdentifier; ExtHostCommon: ProxyIdentifier; ExtHostToolbar: ProxyIdentifier; ExtHostIDEWindow: ProxyIdentifier; ExtHostChatAgents: ProxyIdentifier; }; /** * sumi API extender */ export declare abstract class SumiApiExtender { protected rpcProtocol: IRPCProtocol; constructor(rpcProtocol: IRPCProtocol); /** * create rpc service when main thread could call */ createRPCService?: () => [identifier: ProxyIdentifier, service: T]; /** * api factory * can use rpc service to call main thread */ createApiFactory: (service?: T) => any; } export interface SumiApiExtenders extends Record { [api: string]: new (rpcProtocol: IRPCProtocol) => SumiApiExtender; } //# sourceMappingURL=index.d.ts.map