import { Relayer } from "../relayer/relayer"; import { ConsumerSessionManager } from "../lavasession/consumerSessionManager"; import { RPCEndpoint, SingleConsumerSession } from "../lavasession/consumerTypes"; import { ConsumerConsistency } from "./consumerConsistency"; import { BaseChainParser, SendRelayOptions, SendRelaysBatchOptions, SendRestRelayOptions } from "../chainlib/base_chain_parser"; import { RelayReply, RelayRequest } from "../grpc_web_services/lavanet/lava/pairing/relay_pb"; import { FinalizationConsensus } from "../lavaprotocol/finalization_consensus"; import { BaseChainMessageContainer } from "../chainlib/chain_message"; import { EmergencyTrackerInf } from "../stateTracker/updaters/emergency_tracker"; export declare class RPCConsumerServer { private consumerSessionManager; private chainParser; private geolocation; private relayer; private rpcEndpoint; private lavaChainId; private consumerAddress; private finalizationConsensus; private consumerConsistency; private emergencyTracker; constructor(relayer: Relayer, consumerSessionManager: ConsumerSessionManager, chainParser: BaseChainParser, geolocation: string, rpcEndpoint: RPCEndpoint, lavaChainId: string, finalizationConsensus: FinalizationConsensus, consumerConsistency: ConsumerConsistency); getSessionManager(): ConsumerSessionManager; setChainParser(chainParser: BaseChainParser): void; setEmergencyTracker(emergencyTracker: EmergencyTrackerInf): void; supportedChainAndApiInterface(): SupportedChainAndApiInterface; sendRelay(options: SendRelayOptions | SendRelaysBatchOptions | SendRestRelayOptions): Promise; private sendRelayToProvider; protected relayInner(singleConsumerSession: SingleConsumerSession, relayResult: RelayResult, chainMessage: BaseChainMessageContainer, relayTimeout: number): Promise; protected sendRelayProviderInSession(singleConsumerSession: SingleConsumerSession, relayResult: RelayResult, relayTimeout: number): Promise; } interface RelayResult { request: RelayRequest | undefined; reply: RelayReply | undefined; providerAddress: string; finalized: boolean; } export interface RelayResponse { relayResult: RelayResult | undefined; latency: number; backoff: boolean; err: Error | undefined; } export interface SupportedChainAndApiInterface { specId: string; apiInterface: string; } export {};