import { NearWalletBase, SignMessageParams, SignedMessage, SignAndSendTransactionParams } from "@hot-labs/near-connect"; import { OmniConnector } from "../OmniConnector"; import { OmniWallet } from "../OmniWallet"; import { WalletType } from "../omni/config"; import { ReviewFee } from "../omni/bridge"; import { Token } from "../omni/token"; export default class NearWallet extends OmniWallet { readonly connector: OmniConnector; readonly address: string; readonly publicKey?: string | undefined; readonly wallet?: NearWalletBase | undefined; readonly type = WalletType.NEAR; constructor(connector: OmniConnector, address: string, publicKey?: string | undefined, wallet?: NearWalletBase | undefined); get omniAddress(): string; disconnect(): Promise; fetchBalances(_: number, whitelist: string[]): Promise>; sendTransaction(params: SignAndSendTransactionParams): Promise; signMessage(params: SignMessageParams): Promise; getWrapNearDepositAction(amount: bigint, address: string): Promise<({ type: string; params: { methodName: string; deposit: string; gas: string; args: {}; }; } | { type: string; params: { gas: bigint; methodName: string; deposit: string; args: { account_id: string; registration_only: boolean; }; }; })[]>; needRegisterToken(token: string, address: string): Promise; registerToken(token: string): Promise; transferFee(): Promise; fetchBalance(chain: number, address: string): Promise; transfer(args: { token: Token; receiver: string; amount: bigint; comment?: string; gasFee?: ReviewFee; }): Promise; signIntentsWithAuth(domain: string, intents?: Record[]): Promise<{ signed: Record; chainId: WalletType; publicKey: string; address: string; domain: string; seed: string; }>; signIntents(intents: Record[], options?: { nonce?: Uint8Array; deadline?: number; }): Promise>; }