import { IRPCProtocol } from '@opensumi/ide-connection';
import { IDisposable } from '@opensumi/ide-core-common';
import { IExtHostCommon } from '../../../common/sumi/common';
import { IExtHostCommands, IExtensionDescription } from '../../../common/vscode';
export declare class ExtHostCommon implements IExtHostCommon {
    private rpcProtocol;
    private emitters;
    private proxy;
    constructor(rpcProtocol: IRPCProtocol);
    $acceptEvent(eventName: string, eventArgs: any[]): Promise<any[]>;
    onEvent(eventName: string, listener: (...eventArgs: any[]) => any): IDisposable;
}
export declare function createEventAPIFactory(extHostCommands: IExtHostCommands, kaitianCommon: ExtHostCommon, extension: IExtensionDescription): {
    fire: (eventName: string, ...eventArgs: any[]) => Promise<unknown>;
    subscribe: (eventName: string, listener: (...eventArgs: any[]) => any) => IDisposable;
};
//# sourceMappingURL=ext.host.common.d.ts.map