import { Provider, TransactionRequest } from "@ethersproject/abstract-provider"; import { ExternallyOwnedAccount, Signer, TypedDataDomain, TypedDataField, TypedDataSigner } from "@ethersproject/abstract-signer"; import { Bytes, BytesLike, SignatureLike } from "@ethersproject/bytes"; import { Mnemonic } from "@ethersproject/hdnode"; import { SigningKey } from "@ethersproject/signing-key"; import { ProgressCallback } from "@ethersproject/json-wallets"; import { Wordlist } from "@ethersproject/wordlists"; export declare class Wallet extends Signer implements ExternallyOwnedAccount, TypedDataSigner { readonly address: string; readonly provider: Provider; readonly _signingKey: () => SigningKey; readonly _mnemonic: () => Mnemonic; constructor(privateKey: BytesLike | ExternallyOwnedAccount | SigningKey, provider?: Provider); get mnemonic(): Mnemonic; get privateKey(): string; get publicKey(): string; getAddress(): Promise; connect(provider: Provider): Wallet; signTransaction(transaction: TransactionRequest): Promise; signMessage(message: Bytes | string): Promise; _signTypedData(domain: TypedDataDomain, types: Record>, value: Record): Promise; encrypt(password: Bytes | string, options?: any, progressCallback?: ProgressCallback): Promise; /** * Static methods to create Wallet instances. */ static createRandom(options?: any): Wallet; static fromEncryptedJson(json: string, password: Bytes | string, progressCallback?: ProgressCallback): Promise; static fromEncryptedJsonSync(json: string, password: Bytes | string): Wallet; static fromMnemonic(mnemonic: string, path?: string, wordlist?: Wordlist): Wallet; } export declare function verifyMessage(message: Bytes | string, signature: SignatureLike): string; export declare function verifyTypedData(domain: TypedDataDomain, types: Record>, value: Record, signature: SignatureLike): string;