import { ConnectionInfo, WireObject, CustomData } from '@mubble/core'; import { RunContextBrowser } from '../rc-browser'; import { XmnRouterBase } from './xmn-router-base'; export declare abstract class XmnRouterBrowser implements XmnRouterBase { private rc; private ci; private ongoingRequests; private eventSubMap; private timerReqResend; private timerReqTimeout; private timerEventTimeout; private db; private lastEventTs; private lastEventSendTs; private pubKey; constructor(rc: RunContextBrowser, serverUrl: string, ci: ConnectionInfo, pubKey: string); getPubKey(): Uint8Array; abstract getNetworkType(rc: RunContextBrowser): string; abstract getLocation(rc: RunContextBrowser): string; abstract getMaxOpenSecs(): number; abstract getCustomData(rc: RunContextBrowser): CustomData; abstract updateCustomData(rc: RunContextBrowser, customData: CustomData): any; abstract canStrtLastReqTimer(rc: RunContextBrowser): boolean; abstract getSessionTimeOutSecs(rc: RunContextBrowser): any; abstract sessionTimedOut(rc: RunContextBrowser): any; sendRequest(rc: RunContextBrowser, apiName: string, data: object, timeoutMS?: number): Promise; protected sendPersistentEvent(rc: RunContextBrowser, eventName: string, data: object): Promise; protected sendEphemeralEvent(rc: RunContextBrowser, eventName: string, data: object): Promise; subscribeEvent(eventName: string, eventHandler: (rc: RunContextBrowser, name: string, data: any) => any): void; prepareConnection(rc: RunContextBrowser): void; private initEvents; private trySendingEvents; providerReady(): Promise; providerFailed(errCode?: string): void; providerMessage(rc: RunContextBrowser, arData: WireObject[]): Promise; requestClose(): void; private processSysEvent; private cbTimerReqResend; private cbTimerReqTimeout; private cbTimerEventTimeout; private finishRequest; }