export type Criteria = { [name: string]: string; }; export type AtomicSubscriber = { criteria: Criteria; callback: Function; }; type Message = { [name: string]: string; }; export type Filter = { matcher: string; criteria: Criteria; }; export type MessagePayload = { filter: Filter; message: Message; }; export type UserPresenceObj = { state?: string; subscribers: { [subId: string]: { callback: Function; contextName: string; }; }; }; export {};