import { Connection, PublicKey } from '@solana/web3.js'; import { PriorityFeeMethod, PriorityFeeStrategy, PriorityFeeSubscriberConfig } from './types'; import { AverageOverSlotsStrategy } from './averageOverSlotsStrategy'; import { MaxOverSlotsStrategy } from './maxOverSlotsStrategy'; import { HeliusPriorityFeeLevels, HeliusPriorityLevel } from './heliusPriorityFeeMethod'; export declare class PriorityFeeSubscriber { connection: Connection; frequencyMs: number; addresses: string[]; customStrategy?: PriorityFeeStrategy; averageStrategy: AverageOverSlotsStrategy; maxStrategy: MaxOverSlotsStrategy; priorityFeeMethod: PriorityFeeMethod; lookbackDistance: number; maxFeeMicroLamports?: number; heliusRpcUrl?: string; lastHeliusSample?: HeliusPriorityFeeLevels; intervalId?: ReturnType; latestPriorityFee: number; lastCustomStrategyResult: number; lastAvgStrategyResult: number; lastMaxStrategyResult: number; lastSlotSeen: number; constructor(config: PriorityFeeSubscriberConfig); subscribe(): Promise; private loadForSolana; private loadForHelius; getMaxPriorityFee(): number | undefined; getHeliusPriorityFeeLevel(level?: HeliusPriorityLevel): number; getCustomStrategyResult(): number; getAvgStrategyResult(): number; getMaxStrategyResult(): number; load(): Promise; unsubscribe(): Promise; updateAddresses(addresses: PublicKey[]): void; }