import { EthAddress } from '../address/index.js'; import { TypedData } from './typed_data.js'; export type EthereumSignature = { v: Buffer; r: Buffer; s: Buffer }; export interface EthereumSigner { signPersonalMessage(message: Buffer, address: EthAddress): Promise; signMessage(message: Buffer, address: EthAddress): Promise; signTypedData({ domain, types, message }: TypedData, address: EthAddress): Promise; validateSignature(publicOwner: EthAddress, signature: Buffer, data: Buffer): boolean; }