import type { HermesClient, HexString } from "@pythnetwork/hermes-client"; import type { Logger } from "pino"; import type { IPricePusher, PriceInfo, PriceItem } from "../interface.js"; import { ChainPriceListener } from "../interface.js"; import type { DurationInSeconds } from "../utils.js"; type InjectiveConfig = { chainId: string; gasMultiplier: number; gasPrice: number; priceIdsProcessChunkSize: number; }; export declare class InjectivePriceListener extends ChainPriceListener { private pythContractAddress; private grpcEndpoint; private logger; constructor(pythContractAddress: string, grpcEndpoint: string, priceItems: PriceItem[], logger: Logger, config: { pollingFrequency: DurationInSeconds; }); getOnChainPriceInfo(priceId: HexString): Promise; } export declare class InjectivePricePusher implements IPricePusher { private hermesClient; private pythContractAddress; private grpcEndpoint; private logger; private mnemonic; private chainConfig; private accounts; constructor(hermesClient: HermesClient, pythContractAddress: string, grpcEndpoint: string, logger: Logger, mnemonic: string, chainConfig?: Partial); private getWallet; private signAndBroadcastMsg; updatePriceFeed(priceIds: string[], pubTimesToPush: number[]): Promise; private updatePriceFeedChunk; /** * Get the fee for the transaction (using simulation). * * We also apply a multiplier to the gas used to apply a small * buffer to the gas that'll be used. */ private getStdFee; /** * Get the latest VAAs for updatePriceFeed and then push them */ private getPriceFeedUpdateObject; /** * Get the update fee for the given VAAs (i.e the fee that is paid to the pyth contract) */ private getUpdateFee; } export {};