import net from 'net';
import { NetSocketConnection } from '@opensumi/ide-connection/lib/common/connection';
import { MaybePromise } from '@opensumi/ide-core-common';
import { IExtensionHostManager, Output } from '../common';
export declare class ExtensionHostProxyManager implements IExtensionHostManager {
    private listenOptions;
    private readonly logger;
    private readonly appConfig;
    private callId;
    private extHostProxyProtocol;
    private extHostProxy;
    private callbackMap;
    private processDisposeMap;
    private disposer;
    LOG_TAG: string;
    connection: NetSocketConnection;
    constructor(listenOptions?: net.ListenOptions);
    init(): Promise<void>;
    private startProxyServer;
    private setExtHostProxyRPCProtocol;
    private addNewCallback;
    fork(modulePath: string, ...args: any[]): Promise<number>;
    send(pid: number, message: string): Promise<void>;
    isRunning(pid: number): MaybePromise<boolean>;
    treeKill(pid: number): MaybePromise<void>;
    kill(pid: number, signal?: string | undefined): MaybePromise<void>;
    isKilled(pid: number): MaybePromise<boolean>;
    findDebugPort(startPort: number, giveUpAfter: number, timeout: number): Promise<number>;
    onOutput(pid: number, listener: (output: Output) => void): MaybePromise<void>;
    onExit(pid: number, listener: (code: number, signal: string) => void): MaybePromise<void>;
    onMessage(pid: number, listener: (msg: any) => void): MaybePromise<void>;
    disposeProcess(pid: number): MaybePromise<void>;
    dispose(): Promise<void>;
}
//# sourceMappingURL=extension.host.proxy.manager.d.ts.map