import type { CreateTunnelRequest } from '../proto/api'; export type MakeTunnelBaseOpts = O & { onClose?(err?: Error): void; onMessage?(data: Uint8Array): void; }; export type Tunnel = E & { write(data: Uint8Array): void; close(err?: Error): void; }; export type MakeTunnelFn = (opts: MakeTunnelBaseOpts) => (Tunnel | Promise>); export type Transcript = { sender: 'client' | 'server'; message: T; }[]; export type TCPSocketProperties = { transcript: Transcript; createRequest: Pick; };