import { Wallet, Provider, TransactionRequest } from 'ethers'; import { BaseSigner } from './base'; /** * Local signer using a private key stored in memory * WARNING: Use with caution in production environments */ export declare class LocalSigner extends BaseSigner { private wallet; /** * Create a local signer from a private key * @param privateKey - Private key (with or without 0x prefix) * @param provider - Ethereum provider */ constructor(privateKey: string, provider: Provider); /** * Sign a transaction using the private key * @param transaction - Transaction to sign * @returns Signed transaction as hex string */ signTransaction(transaction: TransactionRequest): Promise; /** * Get the Ethereum address for this signer * @returns Ethereum address */ getAddress(): Promise; /** * Sign a message using the private key * @param message - Message to sign * @returns Signature */ signMessage(message: string | Uint8Array): Promise; /** * Get the wallet instance (for advanced usage) * @returns Wallet instance */ getWallet(): Wallet; /** * Create a random wallet * @param provider - Ethereum provider * @returns LocalSigner with random wallet */ static createRandom(provider: Provider): LocalSigner; }