import type { MessagePort } from "node:worker_threads";
import type { ModuleRunnerTransport } from "vite/module-runner";
export type RunnerPortRequest = {
    __vprs: "runner-request";
    requestId: number;
    payload: unknown;
};
export type RunnerPortResponse = {
    __vprs: "runner-response";
    requestId: number;
    result: {
        result: unknown;
    } | {
        error: unknown;
    };
};
export type RpcRequest = {
    __vprs: "rpc-request";
    requestId: number;
    method: string;
    args: unknown[];
};
export type RpcResponse = {
    __vprs: "rpc-response";
    requestId: number;
    result?: unknown;
    error?: {
        name?: string;
        message: string;
        stack?: string;
    };
};
export type RpcInvoker = <T = unknown>(method: string, args: unknown[]) => Promise<T>;
export type RunnerTransportBundle = {
    transport: ModuleRunnerTransport;
    rpc: RpcInvoker;
};
export declare function createRunnerTransport(port: MessagePort): RunnerTransportBundle;
//# sourceMappingURL=createRunnerTransport.d.ts.map