import { Observable, ReplaySubject } from 'rxjs'; import { EyeGazeDataStream, EyeGazeDataStreams } from './eyegazedatastream'; import { EyeGazeEvent } from './eyegazeevent'; export declare class EyeGazeEventProvider { /** * Time frame for events to be buffered (windowTime in rxjs per ReplaySubject). */ protected _timeframe: number | undefined; /** * This mask saves for which types of events, event.preventDefault should be called. This is useful to disallow * some kinds of standard events like successful connected and handshake success. */ protected _preventDefaultMask: EyeGazeEventProvider.Type; protected _eyeGazeDataListener: { (event: EyeGazeEvent): void; }; protected _eyeGazeDataSubject: ReplaySubject; protected _newServerMessageListener: { (event: EyeGazeEvent): void; }; protected _newServerMessageSubject: ReplaySubject; protected _connectionStatusListener: { (event: EyeGazeEvent): void; }; protected _connectionStatusSubject: ReplaySubject; protected _binaryMessageParsingErrorListener: { (event: EyeGazeEvent): void; }; protected _binaryMessageParsingErrorSubject: ReplaySubject; protected _eyeGazeDataStream: EyeGazeDataStream; constructor(eyeGazeDataStreams: EyeGazeDataStreams, serverAddress: string); /** * Checks whether or not to prevent the default handling of the given event. This depends on the internal * `preventDefaultMask` which can be modified using `preventDefault` function @see{@link preventDefault}. * @param type - Internal event type of the incoming event. * @param event - Actual event to prevent default handling on (if masked). */ protected preventDefaultOnEvent(type: EyeGazeEventProvider.Type, event: EyeGazeEvent): void; /** * Allow default event handling on specific event types (not calling preventDefault on the event). * @param types - Event types to allow default handling on. */ allowDefault(...types: EyeGazeEventProvider.Type[]): void; /** * Prevent default event handling on specific event types (using preventDefault on the event). * @param types - Event types to prevent default handling on. */ preventDefault(...types: EyeGazeEventProvider.Type[]): void; observable(type: EyeGazeEventProvider.Type): Observable | undefined; get EyeGazeData$(): Observable; get NewServerMessage$(): Observable; get ConnectionStatus$(): Observable; get BinaryMessageParsingError$(): Observable; } export declare namespace EyeGazeEventProvider { enum Type { EyeGazeData = 1, NewServerMessage = 2, ConnectionStatus = 4, BinaryMessageParsingError = 8 } }