import { Signer } from 'ethers'; import { ErrorParams } from './errors/Errors'; export interface PublicKey { key: string; type: string; signingMethod: string; } /** * Thrown when an invalid address is given */ export declare class InvalidSignerModuleParamsError extends Error { constructor({ message }?: ErrorParams); } /** * Interface for a signer. This object should be able to sign message and export its public key. */ export interface SignerModuleInterface { getPublicKey(): Promise; signMessage(message: Uint8Array | string): Promise; } export declare class SignerModule implements SignerModuleInterface { private readonly publicKey?; private readonly getPublicKeyFunction?; private readonly signMessageFunction; constructor(params: { publicKey?: PublicKey; getPublicKey?: () => Promise; signMessage: (message: string) => Promise; } | Signer); static isSignerModule(value: any): value is SignerModuleInterface; getPublicKey(): Promise; signMessage(message: string): Promise; }