import { type Address, type Hex, type TransactionSerializable } from 'viem'; import type { SigningProvider } from './signing-provider.js'; import type { SignTypedDataParams, SignatureComponents, SignerAdapter } from '../types.js'; export interface EvmSignerAdapterConfig { expectedAddress?: Address; } /** * EVM signing adapter that delegates to a SigningProvider. * Same orchestration logic as KmsSignerAdapter but provider-agnostic. */ export declare class EvmSignerAdapter implements SignerAdapter { private readonly expectedAddress?; private readonly provider; private addressPromise; constructor(provider: SigningProvider, config?: EvmSignerAdapterConfig); /** * Get the Ethereum address derived from the provider's public key. * Uses promise memoization to avoid concurrent calls during cold start. */ getAddress(): Promise
; /** * Sign a transaction: serialize -> keccak256 -> provider sign -> DER decode -> assemble signed tx. */ signTransaction(tx: TransactionSerializable): Promise