import { BaseWallet, CalcTxHashParams, GetAddressParams, GetDerivedPathParam, HardwareRawTransactionParam, MpcMessageParam, MpcRawTransactionParam, MpcTransactionParam, NewAddressParams, SignTxParams, TypedMessage, ValidAddressParams, ValidPrivateKeyParams, ValidSignedTransactionParams, VerifyMessageParams } from '@okxweb3/coin-base';
import * as eth from './index';
import type { AuthorizationListItem } from './lib/sdk/ethereumjs-tx/types';
export type EthEncryptedData = eth.sigUtil.EthEncryptedData;
export type EthTxParams = {
    to: string;
    value: string;
    useValue?: boolean;
    nonce: string;
    contractAddress?: string;
    gasPrice: string;
    gasLimit: string;
    data?: string;
    chainId: string;
    type: number;
    maxPriorityFeePerGas: string;
    maxFeePerGas: string;
    authorizationList: AuthorizationListItem[];
};
export declare class EthWallet extends BaseWallet {
    getDerivedPath(param: GetDerivedPathParam): Promise<any>;
    getNewAddress(param: NewAddressParams): Promise<any>;
    validPrivateKey(param: ValidPrivateKeyParams): Promise<any>;
    validAddress(param: ValidAddressParams): Promise<any>;
    convert2HexString(data: any): string;
    convert2TxParam(data: any): EthTxParams;
    signTransaction(param: SignTxParams): Promise<any>;
    signAuthorizationListItem(param: SignTxParams): Promise<AuthorizationListItem>;
    signAuthorizationListItemForRPC(param: SignTxParams): Promise<AuthorizationListItem>;
    toRpcAuth(auth: AuthorizationListItem): AuthorizationListItem;
    toRpcHex(hex: string): string;
    signMessage(param: SignTxParams): Promise<string>;
    signMessage0(param: SignTxParams): Promise<string>;
    verifyMessage(param: VerifyMessageParams): Promise<boolean>;
    ecRecover(message: TypedMessage, signature: string): Promise<string>;
    encrypt(publicKey: string, data: string, version: string): Promise<EthEncryptedData>;
    decrypt(encryptedData: EthEncryptedData, privateKey: string): Promise<string>;
    getEncryptionPublicKey(privateKey: string): Promise<string>;
    getAddressByPublicKey(param: GetAddressParams): Promise<string>;
    getMPCRawTransaction(param: MpcRawTransactionParam): Promise<any>;
    getMPCTransaction(param: MpcTransactionParam): Promise<any>;
    getMPCRawMessage(param: MpcRawTransactionParam): Promise<any>;
    getMPCSignedMessage(param: MpcMessageParam): Promise<any>;
    getHardWareRawTransaction(param: SignTxParams): Promise<any>;
    getHardWareSignedTransaction(param: HardwareRawTransactionParam): Promise<any>;
    calcTxHash(param: CalcTxHashParams): Promise<string>;
    validSignedTransaction(param: ValidSignedTransactionParams): Promise<any>;
}
