/// <reference types="node" />
import { SpawnOptionsWithoutStdio } from 'child_process';
import { Runtime, RuntimeEvaluationListener, RuntimeEvaluationResult } from '@mongosh/browser-runtime-core';
import type { MongoshBus } from '@mongosh/types';
import type { CompassServiceProvider } from '@mongosh/service-provider-server';
declare type DevtoolsConnectOptions = Parameters<(typeof CompassServiceProvider)['connect']>[1];
declare class WorkerRuntime implements Runtime {
    private initOptions;
    evaluationListener: RuntimeEvaluationListener | null;
    private eventEmitter;
    private childProcessMongoshBus;
    private childProcessEvaluationListener;
    private childProcess;
    private childProcessRuntime;
    private initWorkerPromise;
    private childProcessProxySrcPath;
    constructor(uri: string, driverOptions?: DevtoolsConnectOptions, cliOptions?: {
        nodb?: boolean;
    }, spawnOptions?: SpawnOptionsWithoutStdio, eventEmitter?: MongoshBus);
    private initWorker;
    evaluate(code: string): Promise<RuntimeEvaluationResult>;
    getCompletions(code: string): Promise<import("@mongosh/browser-runtime-core").Completion[]>;
    getShellPrompt(): Promise<string>;
    setEvaluationListener(listener: RuntimeEvaluationListener | null): RuntimeEvaluationListener | null;
    terminate(): Promise<void>;
    interrupt(): Promise<boolean>;
    waitForRuntimeToBeReady(): Promise<void>;
}
export { WorkerRuntime };
