///
import type { Signer } from "arbundles";
import BigNumber from "bignumber.js";
import type { TokenConfig, Tx } from "../../common/types";
import { KeyPair } from "@near-js/crypto";
import BaseWebToken from "./base";
import type { Provider } from "@near-js/providers";
import type { WalletConnection, Near } from "@near-js/wallet-account";
export default class NearConfig extends BaseWebToken {
protected keyPair: KeyPair;
protected wallet: WalletConnection;
protected near: Near;
protected providerInstance: Provider;
constructor(config: TokenConfig);
ready(): Promise;
/**
* NEAR wants both the sender ID and tx Hash, so we have to concatenate to keep with the interface.
* @param txId assumes format senderID:txHash
*/
getTx(txId: string): Promise;
/**
* address = accountID
* @param owner // assumed to be the "ed25519:" header + b58 encoded key
*/
ownerToAddress(owner: any): string;
sign(data: Uint8Array): Promise;
getSigner(): Signer;
verify(pub: any, data: Uint8Array, signature: Uint8Array): Promise;
getCurrentHeight(): Promise;
getFee(_amount: BigNumber.Value, _to?: string): Promise;
sendTx(data: any): Promise;
createTx(amount: BigNumber.Value, to: string, _fee?: string): Promise<{
txId: string | undefined;
tx: any;
}>;
getPublicKey(): Promise;
}