import { Provider, TransactionRequest } from 'ethers'; import { BaseSigner } from './base'; /** * AWS KMS signer for secure transaction signing without exposing private keys * Private key never leaves AWS KMS hardware security modules */ export declare class KMSSigner extends BaseSigner { private kmsClient; private kmsKeyId; private provider; private addressCache?; /** * Create a KMS signer * @param kmsKeyId - AWS KMS key ID * @param provider - Ethereum provider * @param region - AWS region (default: us-east-1) */ constructor(kmsKeyId: string, provider: Provider, region?: string); /** * Get the public key from KMS * @returns DER-encoded public key */ private getPublicKey; /** * Get the Ethereum address derived from the KMS key * @returns Ethereum address */ getAddress(): Promise; /** * Sign a message hash using KMS * @param msgHash - Message hash to sign * @returns DER-encoded signature */ private signMsgHash; /** * Sign a transaction using KMS * @param transaction - Transaction to sign * @returns Signed transaction as hex string */ signTransaction(transaction: TransactionRequest): Promise; /** * Sign a message using KMS * @param message - Message to sign * @returns Signature as hex string */ signMessage(message: string | Uint8Array): Promise; }