import { Chain, Common } from '@ethereumjs/common';
import type { DerivePrivateKeyParams, GetAddressParams, SignParams, ValidateAddressParams } from '../base_wallet/types';
import { BaseWallet } from '../base_wallet';
import { CoinType } from '../base_wallet/constants';
export declare class EvmWallet extends BaseWallet {
    protected getCoinType(): CoinType;
    derivePrivateKey(params: DerivePrivateKeyParams): string;
    getAddressBy(params: GetAddressParams): string;
    validateAddress(params: ValidateAddressParams): boolean;
    sign(params: SignParams): Promise<any>;
    signMessage(param: SignParams): Promise<any>;
    signTransaction(params: SignParams & {
        data: {
            common: Common;
            unSignedTransaction: Record<string, any>;
        };
    }): Promise<any>;
    verifyEthMessageSign(signature: string, message: string, expectAddress: string): boolean;
    verifyEthTransactionSign(rawTransaction: any, rsvSignature: {
        r: string;
        s: string;
        v: number;
    }, expectAddress: string): boolean;
    signTypedData(params: SignParams): Promise<string>;
    signedConvertRSVtoHex({ r, s, v }: {
        r: Buffer;
        s: Buffer;
        v: bigint;
    }): string;
    getCommonConfiguration({ isSupportsEIP1559, chain, chainId, chainName, }: {
        isSupportsEIP1559: boolean;
        chain?: Chain;
        chainId: string;
        chainName: string;
    }): Common;
}
