///
import { MessageTypes, TypedMessage } from '@metamask/eth-sig-util';
import { JsonRpcSigner } from '@ethersproject/providers';
import { Wallet } from 'ethers';
import { CoinType } from '../const';
import { TxsSignedOrUnSigned } from '../fetchers/SubAccountAPI';
import { TxsWithMMJsonSignedOrUnSigned } from '../fetchers/RegisterAPI.type';
export declare function mmJsonHashAndChainIdHex(typedData: TypedMessage, chainId: number): string;
export interface SendTransactionParam {
to: string;
value: string;
data: string;
}
export declare abstract class BitSigner {
signer: JsonRpcSigner | Wallet;
abstract signTypedData(data: TypedMessage): Promise;
abstract sendTransaction(sendTransactionParam: SendTransactionParam): Promise;
signPersonal(data: string | Buffer): Promise;
getAddress(): Promise;
getChainId(): Promise;
getCoinType(): Promise;
signData(data: string | Buffer | object, isEIP712?: boolean): Promise;
signTxList(txs: TxsSignedOrUnSigned): Promise;
signTxList(txs: TxsWithMMJsonSignedOrUnSigned): Promise;
}