import { Adapter, AdapterState, WalletReadyState, NetworkType } from '@tronweb3/tronwallet-abstract-adapter'; import type { Transaction, SignedTransaction, AdapterName, BaseAdapterConfig, Network } from '@tronweb3/tronwallet-abstract-adapter'; import type { ReqestAccountsResponse, Tron, TronWeb } from './types.js'; export interface TronLinkWallet { ready: boolean; tronWeb: TronWeb; request(config: Record): Promise; } export declare const chainIdNetworkMap: Record; export declare function getNetworkInfoByTronWeb(tronWeb: TronWeb): Promise<{ networkType: NetworkType; chainId: string; fullNode: string; solidityNode: string; eventServer: string; }>; declare global { interface Window { tronLink?: TronLinkWallet; tronWeb?: TronWeb & { ready?: boolean; }; tron?: Tron; } } export interface TronLinkAdapterConfig extends BaseAdapterConfig { /** * Timeout in millisecond for checking if TronLink wallet exists. * Default is 30 * 1000ms */ checkTimeout?: number; /** * Set if open TronLink app using DeepLink. * Default is true. */ openAppWithDeeplink?: boolean; /** * @deprecated Please use `openAppWithDeeplink` */ openTronLinkAppOnMobile?: boolean; /** * The icon of your dapp. Used when open TronLink app in mobile device browsers. */ dappIcon?: string; /** * The name of your dapp. Used when open TronLink app in mobile device browsers. */ dappName?: string; } export declare const TronLinkAdapterName: AdapterName<"TronLink">; export declare class TronLinkAdapter extends Adapter { name: AdapterName<"TronLink">; url: string; icon: string; config: Required; private _readyState; private _state; private _connecting; private _wallet; private _address; private _supportNewTronProtocol; constructor(config?: TronLinkAdapterConfig); get address(): string | null; get state(): AdapterState; get readyState(): WalletReadyState; get connecting(): boolean; /** * Get network information used by TronLink. * @returns {Network} Current network information. */ network(): Promise; connect(): Promise; disconnect(): Promise; private _checkAndSign; signTransaction(transaction: Transaction): Promise; /** * * @param transaction transaction to be signed * @param _, false to use tronWeb.trx.multiSign * @param permissionId permissionId for multiSign * @returns */ multiSign(transaction: Transaction, options?: { permissionId?: number; }): Promise; signMessage(message: string): Promise; /** * Switch to target chain. If current chain is the same as target chain, the call will success immediately. * Available chainIds: * - Mainnet: 0x2b6653dc * - Shasta: 0x94a9059e * - Nile: 0xcd8690dc * @param chainId chainId */ switchChain(chainId: string): Promise; private checkAndGetWallet; private checkIfOpenTronLink; private _listenTronEvent; private _stopListenTronEvent; private _onChainChanged; private _onAccountsChanged; private _checkPromise; private isLegacyTronLinkProvider; private hasDesktopLegacyTronLinkProvider; /** * check if wallet exists by interval, the promise only resolve when wallet detected or timeout * @returns if wallet exists */ private _checkWallet; private _updateWallet; private checkReadyInterval; private checkForWalletReadyForApp; private setAddress; private setState; } //# sourceMappingURL=adapter.d.ts.map