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';
import { DriftMarketInfo } from './driftPriorityFeeMethod';
export declare class PriorityFeeSubscriber {
    connection: Connection;
    frequencyMs: number;
    addresses: string[];
    driftMarkets?: DriftMarketInfo[];
    customStrategy?: PriorityFeeStrategy;
    averageStrategy: AverageOverSlotsStrategy;
    maxStrategy: MaxOverSlotsStrategy;
    priorityFeeMethod: PriorityFeeMethod;
    lookbackDistance: number;
    maxFeeMicroLamports?: number;
    priorityFeeMultiplier?: number;
    driftPriorityFeeEndpoint?: string;
    heliusRpcUrl?: string;
    lastHeliusSample?: HeliusPriorityFeeLevels;
    intervalId?: ReturnType<typeof setTimeout>;
    latestPriorityFee: number;
    lastCustomStrategyResult: number;
    lastAvgStrategyResult: number;
    lastMaxStrategyResult: number;
    lastSlotSeen: number;
    constructor(config: PriorityFeeSubscriberConfig);
    subscribe(): Promise<void>;
    private loadForSolana;
    private loadForHelius;
    private loadForDrift;
    getMaxPriorityFee(): number | undefined;
    updateMaxPriorityFee(newMaxFee: number | undefined): void;
    getPriorityFeeMultiplier(): number;
    updatePriorityFeeMultiplier(newPriorityFeeMultiplier: number): void;
    updateCustomStrategy(newStrategy: PriorityFeeStrategy): void;
    getHeliusPriorityFeeLevel(level?: HeliusPriorityLevel): number;
    getCustomStrategyResult(): number;
    getAvgStrategyResult(): number;
    getMaxStrategyResult(): number;
    load(): Promise<void>;
    unsubscribe(): Promise<void>;
    updateAddresses(addresses: PublicKey[]): void;
    updateMarketTypeAndIndex(driftMarkets: DriftMarketInfo[]): void;
}
//# sourceMappingURL=priorityFeeSubscriber.d.ts.map