/// import { Connection, TransactionSignature } from '@solana/web3.js'; import { Program } from '@coral-xyz/anchor'; import { EventSubscriptionOptions, EventType, WrappedEvents, EventMap, EventSubscriberEvents } from './types'; import { EventList } from './eventList'; import { EventEmitter } from 'events'; import StrictEventEmitter from 'strict-event-emitter-types'; export declare class EventSubscriber { private connection; private program; private options; private address; private eventListMap; private txEventCache; private awaitTxPromises; private awaitTxResolver; private logProvider; 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): EventMap[Type][]; getEventsByTx(txSig: TransactionSignature): WrappedEvents | undefined; }