/// import { NetworkInfo } from '@c2x/wallet-types'; import { WebExtensionNetworkInfo, WebExtensionPostPayload, WebExtensionSignBytesPayload, WebExtensionSignPayload, WebExtensionTxResult } from '@c2x/web-extension-interface'; import { CreateTxOptions } from '@xpla/xpla.js'; import { Subscribable } from 'rxjs'; import { ExtensionInfo } from './multiChannel'; import { ExtensionRouterStates } from './types'; export interface ExtensionRouterOptions { defaultNetwork: NetworkInfo; selectExtension?: (extensionInfos: ExtensionInfo[]) => Promise; hostWindow?: Window; dangerously__chromeExtensionCompatibleBrowserCheck: (userAgent: string) => boolean; } export declare class ExtensionRouter { private readonly options; private readonly _states; private readonly _extensionInfos; private _connector; constructor(options: ExtensionRouterOptions); states: () => import("rxjs").Observable; getLastStates: () => ExtensionRouterStates; connect: (identifier?: string) => Promise; disconnect: () => void; requestApproval: () => void; refetchStates: () => void; post: (tx: CreateTxOptions, xplaAddress?: string) => Subscribable>; sign: (tx: CreateTxOptions, xplaAddress?: string) => Subscribable>; signBytes: (bytes: Buffer, xplaAddress?: string) => Subscribable>; hasCW20Tokens: (chainID: string, ...tokenAddrs: string[]) => Promise<{ [tokenAddr: string]: boolean; }>; addCW20Tokens: (chainID: string, ...tokenAddrs: string[]) => Promise<{ [tokenAddr: string]: boolean; }>; hasNetwork: (network: Omit) => Promise; addNetwork: (network: WebExtensionNetworkInfo) => Promise; private createConnector; }