/// import { Connection, TransactionSignature } from '@solana/web3.js'; import { Program } from '@coral-xyz/anchor'; import StrictEventEmitter from 'strict-event-emitter-types'; import EventEmitter from 'events'; import { CompetitionsEventMap, EventSubscriberEvents, EventSubscriptionOptions, EventType, WrappedEvents } from '../types/types'; import { EventList } from './eventList'; export declare class EventSubscriber { private connection; private program; private options; private address; private eventListMap; private txEventCache; private awaitTxPromises; private awaitTxResolver; private logProvider; private logParser; eventEmitter: StrictEventEmitter; private lastSeenSlot; private lastSeenBlockTime; lastSeenTxSig: string; constructor(connection: Connection, program: Program, options?: EventSubscriptionOptions); subscribe(): Promise; private handleTxLogs; fetchPreviousTx(fetchMax?: boolean): Promise; unsubscribe(): Promise; private parseEventsFromLogs; awaitTx(txSig: TransactionSignature): Promise; getEventList(eventType: Type): EventList; /** * This requires the EventList be cast to an array, which requires reallocation of memory. * Would bias to using getEventList over getEvents * * @param eventType */ getEventsArray(eventType: Type): CompetitionsEventMap[Type][]; getEventsByTx(txSig: TransactionSignature): WrappedEvents | undefined; }