import type { SignInParams, WalletBehaviourFactory, Account, FinalExecutionOutcome, Network } from "@near-wallet-selector/core"; import { InjectedWallet, SignAndSendTransactionParams, SignAndSendTransactionsParams } from "@near-wallet-selector/core/lib/wallet"; import { Signature } from "near-api-js/lib/utils/key_pair"; import { keyStores, WalletConnection } from "near-api-js"; import BN from "bn.js"; import { Strategy } from "./strategy"; import { HereProvider } from "./provider"; export interface HereConfiguration { hereConnector: string; hereContract: string; download: string; } export declare const hereConfigurations: Record; export interface HereAsyncOptions extends Strategy { signal?: AbortSignal; strategy?: Strategy; } export declare type HereWallet = InjectedWallet & { getHereBalance: () => Promise; getAvailableBalance: () => Promise; signMessage: (data: { message: Uint8Array; signerId: string; }) => Promise; signIn: (data: SignInParams & HereAsyncOptions) => Promise>; signAndSendTransaction: (data: SignAndSendTransactionParams & HereAsyncOptions) => Promise; signAndSendTransactions: (data: SignAndSendTransactionsParams & HereAsyncOptions) => Promise>; }; export interface HereWalletState extends HereConfiguration { wallet: WalletConnection; keyStore: keyStores.BrowserLocalStorageKeyStore; } export declare type SelectorInit = WalletBehaviourFactory Strategy; }>; export declare const setupWalletState: (config: HereConfiguration, network: Network) => Promise;