import type { JSONSerializable } from '../utils/conversion'; export type SubscriptionCallback = (message: JSONSerializable) => void; export interface PubSubProviderAPI { publish: (channel: string, message: JSONSerializable) => Promise; subscribe: (channel: string, callback: SubscriptionCallback) => Promise; destroy: () => Promise; }