import { HexString } from '../utils/types'; import { CustomSigner, EthSigner, AnySignatureType } from './signature'; /** * The `KwilSigner` class is a utility class for storing a signer and its associated public key. It is used to sign transactions and messages on Kwil. */ export declare class KwilSigner { /** The signer, which can be of type `EthSigner` or `CustomSigner` */ readonly signer: EthSigner | CustomSigner; /** The identifier associated with the signer (e.g. wallet address, public key, etc). */ readonly identifier: Uint8Array; /** The type of the signature. */ readonly signatureType: AnySignatureType; /** * Creates a new instance of KwilSigner using an EthSigner. * * @param {EthSigner} signer - A signer from Ethers v5 or Ethers v6. * @param {HexString | Uint8Array} identifier - The wallet address associated with the signer. Can be a hex string or bytes (Uint8Array). */ constructor(signer: EthSigner, identifier: HexString | Uint8Array); /** * Creates a new instance of KwilSigner using a CustomSigner with a specified signature type. * * @param {CustomSigner} signer - An instance of CustomSigner. * @param {HexString | Uint8Array} identifier - The identifier associated with the signer (e.g. wallet address, public key, etc). Can be a hex string or bytes (Uint8Array). * @param {AnySignatureType} signatureType - The type of the signature. Can be from the SignatureType enum or a custom string for the signer name, if implemented on the Kwil network. */ constructor(signer: CustomSigner, identifier: HexString | Uint8Array, signatureType: AnySignatureType); }