getSigner ({ privKey, nip46token, supportNip07 = true } = {}) {
    if (privKey) return new NDKPrivateKeySigner(privKey)
    if (nip46token) return new NDKNip46SignerURLPatch(this.ndk, nip46token)
    if (supportNip07 && typeof window !== 'undefined' && window?.nostr) return new NDKNip07Signer()
    return null
  }
@param {Object} param0
@param {string} [args.privKey] - private key to use for signing
@param {string} [args.nip46token] - NIP-46 token to use for signing
@param {boolean} [args.supportNip07] - whether to use NIP-07 signer if available
@returns {NDKPrivateKeySigner | NDKNip46Signer | NDKNip07Signer | null} - a signer instance