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"; import { ethers } from 'ethers'; export interface PKPWalletProp { pkpPubKey: string; controllerAuthSig: any; provider: string; litNetwork?: any; debug?: boolean; } export interface PKPSigner { initPKP(prop: PKPWalletProp): any; runLitAction(toSign: Uint8Array | BytesLike): Promise; } export declare class PKPWallet extends Signer implements ExternallyOwnedAccount, TypedDataSigner { readonly address: string; readonly provider: Provider; pkpWalletProp: PKPWalletProp; litNodeClient: any; rpcProvider: ethers.providers.JsonRpcProvider; readonly _signingKey: () => SigningKey; readonly _mnemonic: () => Mnemonic; runLitAction(toSign: Uint8Array | BytesLike, sigName: string): Promise; constructor(prop?: PKPWalletProp); get mnemonic(): void; get privateKey(): string; get publicKey(): string; getAddress(): Promise; connect(): PKPWallet; init(): Promise; 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; sendTransaction(transaction: TransactionRequest | any): 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 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; //# sourceMappingURL=index.d.ts.map