import { MessengerMeta } from "./parts/meta.js"; import { Conduit } from "./conduits/conduit.js"; import { Tap, Fns } from "../../core/types.js"; export type MessengerRpc = (meta: MessengerMeta) => Promise; export declare function asMessengerRpc(mrpc: MessengerRpc): MessengerRpc; export type MessengerOptions = { conduit: Conduit; tap?: Tap; timeout?: number; rpc?: MessengerRpc; }; export type ChannelMessage = { data: D; origin: string; }; export type Channel = { addEventListener(e: "message", listener: (event: ChannelMessage) => void): void; removeEventListener(e: "message", listener: (event: ChannelMessage) => void): void; }; export type PostableChannel = { postMessage(m: any, transfer?: Transferable[]): void; } & Channel;