/// import { Connection, Commitment, SlotInfo, SlotUpdate, Context, AccountInfo } from '@solana/web3.js'; import { Observable, ReplaySubject } from 'rxjs'; import { ILogsWithSlot, ISolanaAccountUpdate } from '../../interfaces'; import { IMap, SolanaConnection } from '../../types'; import { SolanaKey } from '../../utils'; import { BaseLoggerService } from '../base-logger.service'; import { SolanaApiService } from './solana-api.service'; export declare class SolanaUpdateService { protected readonly logger: BaseLoggerService; protected readonly solanaApi: SolanaApiService; readonly logPrefix = "[SolanaUpdate]"; readonly RESOLVE_QUEUE_INTERVAL_MS = 1000; readonly UPDATE_QUEUE_INTERVAL_MS = 1000; readonly accountUpdates$: IMap>; readonly accountUpdatesMaxSlots: IMap; readonly logUpdates$: IMap>; readonly slotChanges$: ReplaySubject; readonly slotInfo$: Observable; readonly slotUpdates$: ReplaySubject; readonly slotUpdate$: Observable; readonly resolvedAccounts: IMap; readonly resolveQueue: SolanaKey[]; readonly resolvedSubscriptions: IMap; readonly subscriptionQueue: IMap<{ account: SolanaKey; connection: SolanaConnection; }>; constructor(logger: BaseLoggerService, solanaApi: SolanaApiService); private handleUpdateQueue; safeAccountUpdate(accountKey: SolanaKey, connection?: SolanaConnection, autoSubscribe?: boolean, getInitial?: boolean, poolingMs?: number): Observable; safeAccountUpdates(accountKeys: SolanaKey[], connection?: SolanaConnection, autoSubscribe?: boolean, getInitial?: boolean, poolingMs?: number): Observable>; safeLogUpdate(accountKey: SolanaKey | 'all', connection?: SolanaConnection, commitment?: Commitment): Observable | null; subscribeToLogChanges(accountKey: SolanaKey | 'all', connection?: Connection, commitment?: Commitment): number; unsubscribeFromLogChanges(listener: number, connection?: Connection): Promise; subscribeToAccountChanges(accounts: SolanaKey[], connection?: Connection, commitment?: Commitment, callback?: (accountId: SolanaKey, accountInfo: AccountInfo, context: Context, connection: SolanaConnection) => void): void; resubscribeToAccountChanges(): void; private ensureAccountUpdates; private handleAccountChange; private handleLogChange; private addToResolveQueue; private addToSubscribeQueue; private updateCache; } //# sourceMappingURL=solana-update.service.d.ts.map