| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 | import type { TypedDataDomain, TypedDataField } from "../hash/index.js";import type { TransactionLike } from "../transaction/index.js";import type { BlockTag, Provider, TransactionRequest, TransactionResponse } from "./provider.js";import type { Signer } from "./signer.js";/** *  An **AbstractSigner** includes most of teh functionality required *  to get a [[Signer]] working as expected, but requires a few *  Signer-specific methods be overridden. * */export declare abstract class AbstractSigner<P extends null | Provider = null | Provider> implements Signer {    /**     *  The provider this signer is connected to.     */    readonly provider: P;    /**     *  Creates a new Signer connected to %%provider%%.     */    constructor(provider?: P);    /**     *  Resolves to the Signer address.     */    abstract getAddress(): Promise<string>;    /**     *  Returns the signer connected to %%provider%%.     *     *  This may throw, for example, a Signer connected over a Socket or     *  to a specific instance of a node may not be transferrable.     */    abstract connect(provider: null | Provider): Signer;    getNonce(blockTag?: BlockTag): Promise<number>;    populateCall(tx: TransactionRequest): Promise<TransactionLike<string>>;    populateTransaction(tx: TransactionRequest): Promise<TransactionLike<string>>;    estimateGas(tx: TransactionRequest): Promise<bigint>;    call(tx: TransactionRequest): Promise<string>;    resolveName(name: string): Promise<null | string>;    sendTransaction(tx: TransactionRequest): Promise<TransactionResponse>;    abstract signTransaction(tx: TransactionRequest): Promise<string>;    abstract signMessage(message: string | Uint8Array): Promise<string>;    abstract signTypedData(domain: TypedDataDomain, types: Record<string, Array<TypedDataField>>, value: Record<string, any>): Promise<string>;}/** *  A **VoidSigner** is a class deisgned to allow an address to be used *  in any API which accepts a Signer, but for which there are no *  credentials available to perform any actual signing. * *  This for example allow impersonating an account for the purpose of *  static calls or estimating gas, but does not allow sending transactions. */export declare class VoidSigner extends AbstractSigner {    #private;    /**     *  The signer address.     */    readonly address: string;    /**     *  Creates a new **VoidSigner** with %%address%% attached to     *  %%provider%%.     */    constructor(address: string, provider?: null | Provider);    getAddress(): Promise<string>;    connect(provider: null | Provider): VoidSigner;    signTransaction(tx: TransactionRequest): Promise<string>;    signMessage(message: string | Uint8Array): Promise<string>;    signTypedData(domain: TypedDataDomain, types: Record<string, Array<TypedDataField>>, value: Record<string, any>): Promise<string>;}//# sourceMappingURL=abstract-signer.d.ts.map
 |