import { SigningKey, TransactionLike, TypedDataDomain, TypedDataField, JsonRpcApiProvider as EthersJsonRpcApiProvider, JsonRpcSigner as EthersJsonRpcSigner, Provider, TransactionRequest, TransactionResponse, Wallet as EthersWallet, ProgressCallback } from "ethers"; export declare class Wallet extends EthersWallet { static fromEncryptedJson(json: string, password: string | Uint8Array, progress?: ProgressCallback): Promise; static fromEncryptedJsonSync(json: string, password: string | Uint8Array): Wallet; static fromEncryptedJsonList(json: string, password: string | Uint8Array, progress?: ProgressCallback): Promise; static fromEncryptedJsonListSync(json: string, password: string | Uint8Array): Wallet[]; private klaytnAddr; constructor(addressOrPrivateKey: string | SigningKey, privateKeyOrProvider?: SigningKey | Provider | string, provider?: Provider); getAddress(legacy?: boolean): Promise; getEtherAddress(): Promise; decodeTxFromRLP(rlp: string): any; isDecoupled(): Promise; populateTransaction(transaction: TransactionRequest): Promise>; private _populateTransaction; signTransaction(transaction: TransactionRequest): Promise; signTransactionAsFeePayer(transactionOrRLP: TransactionRequest | string): Promise; sendTransaction(transaction: TransactionRequest): Promise; sendTransactionAsFeePayer(transactionOrRLP: TransactionRequest | string): Promise; _sendKlaytnRawTransaction(signedTx: string): Promise; sendTransactions(transactions: TransactionRequest[]): Promise; _sendKlaytnRawTransactions(signedTxs: string[]): Promise; } export declare class JsonRpcSigner extends EthersJsonRpcSigner { constructor(provider: EthersJsonRpcApiProvider, address: string); isKaikas(): boolean; connect(_provider: Provider): EthersJsonRpcSigner; connectUnchecked(): EthersJsonRpcSigner; signMessage(message: string | Uint8Array): Promise; _legacySignMessage(message: Uint8Array | string): Promise; _signTypedData(domain: TypedDataDomain, types: Record>, value: Record): Promise; populateTransaction(transaction: TransactionRequest): Promise>; signTransaction(transaction: TransactionRequest): Promise; sendTransaction(transaction: TransactionRequest): Promise; sendUncheckedTransaction(transaction: TransactionRequest): Promise; unlock(password: string): Promise; }