import { ConsumerSessionsMap, ConsumerSessionsWithProvider, ProviderOptimizer, RPCEndpoint, SingleConsumerSession } from "./consumerTypes"; import { Relayer } from "../relayer/relayer"; import { grpc } from "@improbable-eng/grpc-web"; export declare const ALLOWED_PROBE_RETRIES = 5; export declare const TIMEOUT_BETWEEN_PROBES = 200; import { ReportedProvider } from "../grpc_web_services/lavanet/lava/pairing/relay_pb"; export declare class ConsumerSessionManager { private rpcEndpoint; private pairing; private currentEpoch; private numberOfResets; private allowedUpdateForCurrentEpoch; private pairingAddresses; validAddresses: Set; private addonAddresses; private reportedProviders; private pairingPurge; private providerOptimizer; private relayer; private transport; private allowInsecureTransport; private epochTracker; constructor(relayer: Relayer, rpcEndpoint: RPCEndpoint, providerOptimizer: ProviderOptimizer, opts?: { transport?: grpc.TransportFactory; allowInsecureTransport?: boolean; }); getEpochFromEpochTracker(): number; getRpcEndpoint(): RPCEndpoint; getCurrentEpoch(): number; getNumberOfResets(): number; getPairingAddressesLength(): number; getPairingListForCurrentEpoch(): Map; updateAllProviders(epoch: number, pairingList: ConsumerSessionsWithProvider[]): Promise; removeAddonAddress(addon?: string, extensions?: string[]): void; calculateAddonValidAddresses(addon: string, extensions: string[]): Set; getSessions(cuNeededForSession: number, initUnwantedProviders: Set, requestedBlock: number, addon: string, extensions: string[], stateful: number, virtualEpoch: number): ConsumerSessionsMap | Error; onSessionUnused(consumerSession: SingleConsumerSession): Error | undefined; onSessionFailure(consumerSession: SingleConsumerSession, errorReceived?: Error | null): Error | undefined; onSessionDone(consumerSession: SingleConsumerSession, latestServicedBlock: number, specComputeUnits: number, currentLatency: number, expectedLatency: number, expectedBH: number, numOfProviders: number, providersCount: number, isHangingApi: boolean): Error | undefined; getReportedProviders(epoch: number): Array; private blockProvider; private removeAddressFromValidAddresses; private getValidConsumerSessionsWithProvider; private setValidAddressesToDefaultValue; getValidAddresses(addon: string, extensions: string[]): Set; private getValidProviderAddress; private resetValidAddress; private cacheAddonAddresses; private validatePairingListNotEmpty; probeProviders(pairingList: Set, epoch: number, retry?: number): Promise; private blockDisabledProvidersByProbe; private probeProvider; private getTransport; private timeoutBetweenProbes; } export declare type ConsumerSessionManagersMap = Map;