/**
 * MessagePort transport for Enkaku RPC clients and servers.
 *
 * ## Installation
 *
 * ```sh
 * npm install @enkaku/message-transport
 * ```
 *
 * @module message-transport
 */
import { Transport } from '@enkaku/transport';
export type PortOrPromise = MessagePort | Promise<MessagePort>;
export type PortSource = PortOrPromise | (() => PortOrPromise);
export declare function createTransportStream<R, W>(source: PortSource): Promise<ReadableWritablePair<R, W>>;
export type MessageTransportParams = {
    port: PortSource;
    signal?: AbortSignal;
};
export declare class MessageTransport<R, W> extends Transport<R, W> {
    constructor(params: MessageTransportParams);
}
