import { EventEmitter } from "node:events"; import type { SuperJSON } from "superjson"; import type { AppendOnlyLog } from "./log.js"; import type { FsDuplexMessageType, FsDuplexParty, FsDuplexPayloads } from "./protocol.js"; export type MessageChannelEventMap = { [key in FsDuplexMessageType]: [FsDuplexPayloads[key]]; } & { open: []; close: []; error: [Error]; }; export declare class MessageChannel

extends EventEmitter { readonly party: P; readonly log: AppendOnlyLog; private superjson; private processor; private state; private localSeq; private localAck; get currentState(): "opening" | "open" | "closing" | "closed"; constructor(party: P, superjson: SuperJSON, log: AppendOnlyLog); handleLogData(): Promise; send(type: T, payload: FsDuplexPayloads[T]): void; close(): void; } //# sourceMappingURL=channel.d.ts.map