import { EventEmitter } from 'eventemitter3'; import { DispatchedJargonEvent, Events, JargonEvent } from './models'; export interface JargonEvents { on(event: Events.WindowFocusChangeEvent['type'], handler: (payload: DispatchedJargonEvent) => void): this; on(event: Events.CameraMetricsEvent['type'], handler: (payload: DispatchedJargonEvent) => void): this; on(event: Events.BookmarkEvent['type'], handler: (payload: DispatchedJargonEvent) => void): this; on(event: Events.FaceDataEvent['type'], handler: (payload: DispatchedJargonEvent) => void): this; on(event: Events.PublicChatEvent['type'], handler: (payload: DispatchedJargonEvent) => void): this; on(event: Events.PulseDataEvent['type'], handler: (payload: DispatchedJargonEvent) => void): this; on(event: Events.SessionStartEvent['type'], handler: (payload: DispatchedJargonEvent) => void): this; on(event: Events.SessionStopEvent['type'], handler: (payload: DispatchedJargonEvent) => void): this; on(event: 'connected' | 'disconnected' | 'rejected', handler: () => void): this; } export declare class JargonEvents extends EventEmitter implements JargonEvents { private consumer; private subscription; connect(sessionToken?: string): void; disconnect(): void; dispatch(event: JargonEvent): void; private readonly baseURL; }