import { BlockTag, Provider, TransactionRequest, TransactionResponse } from "@ethersproject/abstract-provider"; import { BigNumber } from "@ethersproject/bignumber"; import { Bytes } from "@ethersproject/bytes"; export interface ExternallyOwnedAccount { readonly address: string; readonly privateKey: string; readonly mnemonic?: string; readonly path?: string; } export declare abstract class Signer { readonly provider?: Provider; abstract getAddress(): Promise; abstract signMessage(message: Bytes | string): Promise; abstract signTransaction(transaction: TransactionRequest): Promise; abstract connect(provider: Provider): Signer; readonly _isSigner: boolean; constructor(); getBalance(blockTag?: BlockTag): Promise; getTransactionCount(blockTag?: BlockTag): Promise; estimateGas(transaction: TransactionRequest): Promise; call(transaction: TransactionRequest, blockTag?: BlockTag): Promise; sendTransaction(transaction: TransactionRequest): Promise; getChainId(): Promise; getGasPrice(): Promise; resolveName(name: string): Promise; checkTransaction(transaction: TransactionRequest): TransactionRequest; populateTransaction(transaction: TransactionRequest): Promise; _checkProvider(operation?: string): void; static isSigner(value: any): value is Signer; } export declare class VoidSigner extends Signer { readonly address: string; constructor(address: string, provider?: Provider); getAddress(): Promise; _fail(message: string, operation: string): Promise; signMessage(message: Bytes | string): Promise; signTransaction(transaction: TransactionRequest): Promise; connect(provider: Provider): VoidSigner; }