import type { Checkpoint, CommandCatalog, Domain, Stop } from './types.js'; export interface RelayMessage { readonly source: string; readonly domain: string; readonly sentAt: number; readonly checkpoint: Checkpoint; } export interface RelayPort { send(message: RelayMessage): void; listen(listener: (message: RelayMessage) => void): Stop; close?(): void; } export interface RelayBinding { stop(): void; } export interface RelayOptions { readonly source?: string; readonly accept?: (incoming: RelayMessage, current: Checkpoint) => boolean; readonly onFault?: (error: unknown) => void; } export declare function broadcastRelay(channelName: string): RelayPort; export declare function bindRelay>(domain: Domain, port: RelayPort, sourceOrOptions?: string | RelayOptions): RelayBinding; //# sourceMappingURL=relay.d.ts.map