import { GraphQlMessage, IrisParserData, ParsedMessage } from './parsers'; import { AppPresenceEventWrapper, MessageSyncMessageWrapper, RealtimeSubDirectDataWrapper } from './messages'; import { Topic } from '../topic'; import { MqttMessage } from 'mqtts'; import { QueryIDs } from './subscriptions'; import { ThreadUpdateWrapper } from './messages/thread-update.message'; type ReceiveEvent = [Topic, ParsedMessage[]?]; export type RealtimeClientEvents = MergedRealtimeSubPayloads & { error: Error; warning: Error; receive: ReceiveEvent; receiveRaw: MqttMessage; close: []; disconnect: []; realtimeSub: ParsedMessage; direct: RealtimeSubDirectDataWrapper; iris: Partial; message: MessageSyncMessageWrapper; threadUpdate: ThreadUpdateWrapper; clientConfigUpdate: { client_config_update_event: { publish_id: string; client_config_name: string; backing: 'QE' | string; client_subscription_id: '17849856529644700' | string; }; }; }; export type MergedRealtimeSubPayloads = { [x in keyof typeof QueryIDs]: string | Record; } & KnownRealtimeSubPayloads; export type KnownRealtimeSubPayloads = { appPresence: AppPresenceEventWrapper; }; export {};