'use strict';

require('../../generic/typed-enum.cjs');
require('../../generic/typed-bytes.cjs');
require('../../generic/typed-string.cjs');
require('../../generic/typed-array.cjs');
var types_generic_typedTuple = require('../../generic/typed-tuple.cjs');
require('../../generic/typed-null.cjs');
require('../../../utils/types/array.cjs');
require('crypto');
require('bs58');
require('multiformats/bases/base58');
require('varint');
require('../../../utils/encoding/ss-58.cjs');
require('../../generic/typed-number.cjs');
require('../../generic/typed-set.cjs');
require('../../generic/typed-map.cjs');
require('../../generic/typed-struct.cjs');
require('uuid');
require('js-sha256');
var types_generic_anyOf = require('../../generic/any-of.cjs');
var types_did_onchain_typedDid_index = require('../../did/onchain/typed-did/index.cjs');
var types_offchainSignatures_params_id = require('../params/id.cjs');
var types_did_onchain_typedDid_cheqdDid = require('../../did/onchain/typed-did/cheqd-did.cjs');
var types_did_onchain_typedDid_dockDidValue = require('../../did/onchain/typed-did/dock-did-value.cjs');
require('../../../utils/types/iterable.cjs');
require('../../../utils/types/object.cjs');
require('../../../utils/interfaces.cjs');
require('../../../utils/assert.cjs');
require('../../../utils/error.cjs');
require('../../../utils/inheritance.cjs');
require('../../../utils/types/set.cjs');
require('../../generic/with-base.cjs');
require('../../../utils/types/bytes.cjs');
require('../../../utils/types/string.cjs');
require('../../generic/with-catch-null.cjs');
require('../../generic/with-eq.cjs');
require('blake2b');
require('../../generic/with-from.cjs');
require('../../generic/with-from-json-bytes.cjs');
require('../../generic/create-placeholder.cjs');
require('../../did/onchain/typed-did/did-method-key/did-method-key-public-key.cjs');
require('../../../utils/encoding/base-58-btc.cjs');
require('../../generic/sized.cjs');
require('../../../utils/types/number.cjs');
require('../../generic/with-qualifier.cjs');
require('../../public-keys/public-key.cjs');
require('../../public-keys/public-key-x25519-value.cjs');
require('../../public-keys/public-key-ed25519-value.cjs');
require('../../../vc/crypto/constants.cjs');
require('../../public-keys/public-key-secp256k1-value.cjs');
require('../../public-keys/public-key-sr25519-value.cjs');
require('../../did/onchain/constants.cjs');
require('../../did/onchain/typed-did/signature.cjs');
require('../../did/onchain/typed-did/did-method-key/did-method-key-signature.cjs');
require('../../signatures/signature-value.cjs');
require('../../signatures/signature-ed25519-value.cjs');
require('../../signatures/signature-secp256k1-value.cjs');
require('../../signatures/signature.cjs');
require('../../signatures/signature-sr25519-value.cjs');
require('../../generic/typed-uuid.cjs');
require('../../generic/utils.cjs');
require('../../generic/typed-bytes-array.cjs');
require('../../generic/with-from-dock-id.cjs');

class DockOffchainSignatureKeyRef extends types_generic_typedTuple {
  static Classes = [types_did_onchain_typedDid_dockDidValue.default, types_offchainSignatures_params_id.DockParamsId];
}

class DockOffchainSignatureParamsRef extends types_generic_typedTuple {
  static Classes = [types_did_onchain_typedDid_index.DockDidOrDidMethodKey, types_offchainSignatures_params_id.DockParamsId];
}

class CheqdOffchainSignatureKeyRef extends types_did_onchain_typedDid_cheqdDid.CheqdDLRRef {}

class CheqdTestnetOffchainSignatureKeyRef extends types_did_onchain_typedDid_cheqdDid.CheqdDLRRef {
  static Did = types_did_onchain_typedDid_cheqdDid.CheqdTestnetDid;
}

class CheqdMainnetOffchainSignatureKeyRef extends types_did_onchain_typedDid_cheqdDid.CheqdDLRRef {
  static Did = types_did_onchain_typedDid_cheqdDid.CheqdMainnetDid;
}

class CheqdOffchainSignatureParamsRef extends types_did_onchain_typedDid_cheqdDid.CheqdDLRRef {}

class CheqdTestnetOffchainSignatureParamsRef extends types_did_onchain_typedDid_cheqdDid.CheqdDLRRef {
  static Did = types_did_onchain_typedDid_cheqdDid.CheqdTestnetDid;

  static Id = types_offchainSignatures_params_id.CheqdParamsId;
}

class CheqdMainnetOffchainSignatureParamsRef extends types_did_onchain_typedDid_cheqdDid.CheqdDLRRef {
  static Did = types_did_onchain_typedDid_cheqdDid.CheqdMainnetDid;

  static Id = types_offchainSignatures_params_id.CheqdParamsId;
}

class DockOrCheqdOffchainSignatureParamsRef extends types_generic_typedTuple {
  constructor(...args) {
    super(...args);

    if (this[0].isCheqd) {
      return CheqdOffchainSignatureParamsRef.from(this);
    } else if (this[0].isDock && this[1] instanceof types_offchainSignatures_params_id.DockParamsId) {
      return DockOffchainSignatureParamsRef.from(this);
    }
  }

  static Classes = [types_did_onchain_typedDid_index.NamespaceDid, types_generic_anyOf(types_offchainSignatures_params_id.DockParamsId, types_offchainSignatures_params_id.CheqdParamsId)];
}

exports.CheqdMainnetOffchainSignatureKeyRef = CheqdMainnetOffchainSignatureKeyRef;
exports.CheqdMainnetOffchainSignatureParamsRef = CheqdMainnetOffchainSignatureParamsRef;
exports.CheqdOffchainSignatureKeyRef = CheqdOffchainSignatureKeyRef;
exports.CheqdOffchainSignatureParamsRef = CheqdOffchainSignatureParamsRef;
exports.CheqdTestnetOffchainSignatureKeyRef = CheqdTestnetOffchainSignatureKeyRef;
exports.CheqdTestnetOffchainSignatureParamsRef = CheqdTestnetOffchainSignatureParamsRef;
exports.DockOffchainSignatureKeyRef = DockOffchainSignatureKeyRef;
exports.DockOffchainSignatureParamsRef = DockOffchainSignatureParamsRef;
exports.DockOrCheqdOffchainSignatureParamsRef = DockOrCheqdOffchainSignatureParamsRef;
//# sourceMappingURL=ref.cjs.map
