import { Abi } from 'eosjs/dist/eosjs-rpc-interfaces'; import fetch from 'node-fetch'; import { Redis } from 'ioredis'; import { IAbiProvider } from '../types/interfaces'; interface IAbiHistory { abi: Abi; block_num: number; } interface IHyperionAbiProviderParams { hyperionEndpoint: string; fetchApi: typeof fetch; contracts: string[]; redis: Redis; } export declare class HyperionAbiProvider implements IAbiProvider { private readonly params; private readonly semaphore; private savedAbis; constructor(params: IHyperionAbiProviderParams); getAbi(contract: string, blockNum: number): Promise; init(): Promise; private fetchContractAbiAtBlock; fetchContractAbiHistory(contract: string): Promise; getFromCache(contract: string, blockNum: number): Promise; setAbi(contract: string, blockNum: number, abi: Abi): Promise; private sortAbis; } export {};