import { verifyPresentation } from './presentations.js';
export { getJsonSchemasFromPresentation, getKeyedProofsFromVerifiedPresentation, getPrivateStatuses, isAnoncreds, signPresentation, verifyAnoncreds, verifyPresentationCredentials } from './presentations.js';
import { verifyCredential } from './credentials.js';
export { VC_ISSUE_TYPE_DEFAULT, VC_ISSUE_TYPE_JSONLD, VC_ISSUE_TYPE_JWT, VC_ISSUE_TYPE_PROOFVALUE, addPrivateStatusListEntryToCredential, addRevRegIdToCredential, addStatusList21EntryToCredential, checkCredential, checkCredentialJSONLD, checkCredentialOptional, checkCredentialRequired, formatToJWTPayload, getJsonSchemaFromCredential, getPrivateStatus, isAnoncredsProofType, issueCredential, verifyPrivateStatus } from './credentials.js';
export { default as Presentation } from './presentation.js';
export { default as VerifiableCredential } from './verifiable-credential.js';
export { default as VerifiablePresentation } from './verifiable-presentation.js';
export { default as StatusList2021Credential } from './status-list2021-credential.js';
export { default as PrivateStatusList2021Credential } from './private-status-list2021-credential.js';
export { expandJSONLD, getKeyDoc, getKeyFromDIDDocument, getSuiteFromKeyDoc, potentialToArray, processIfKvac, verMethodRefsEqual } from './helpers.js';
export { getAndValidateSchemaIfPresent, validateCredentialSchema } from './schema.js';
export { CheqdStatusList2021Qualifier, DEFAULT_CONTEXT, DEFAULT_CONTEXT_URL, DEFAULT_CONTEXT_V1_URL, DEFAULT_TYPE, DockRevRegQualifier, DockStatusList2021Qualifier, PrivateStatusList2021EntryType, PrivateStatusList2021Qualifier, RevRegType, StatusList2021EntryType, credentialContextField, credentialIDField, credentialTypeField, expandedCredentialProperty, expandedSchemaProperty, expandedStatusProperty, expandedSubjectProperty } from './constants.js';
export { default as CredentialIssuancePurpose } from './CredentialIssuancePurpose.js';
export { default as documentLoader } from './document-loader.js';
export { createJws, signJWS } from './jws.js';
export { RevEntryByteSize, RevRegIdByteSize, buildDockCredentialStatus, checkRevocationRegistryStatus, createRandomRegistryId, getCredentialStatus, getDockRevIdFromCredential, hasRegistryRevocationStatus, isAccumulatorRevocationStatus, isRegistryRevocationStatus } from './revocation.js';
export { default as Bls12381BBDT16KeyPairDock2024 } from './crypto/Bls12381BBDT16KeyPairDock2024.js';
export { default as Bls12381BBDT16MACDock2024 } from './crypto/Bls12381BBDT16MACDock2024.js';
export { default as Bls12381BBDT16MACProofDock2024 } from './crypto/Bls12381BBDT16MACProofDock2024.js';
export { default as Bls12381BBSKeyPairDock2023 } from './crypto/Bls12381BBSKeyPairDock2023.js';
export { default as Bls12381BBSSignatureDock2022 } from './crypto/Bls12381BBSSignatureDock2022.js';
export { default as Bls12381BBSSignatureDock2023 } from './crypto/Bls12381BBSSignatureDock2023.js';
export { default as Bls12381BBSSignatureProofDock2022 } from './crypto/Bls12381BBSSignatureProofDock2022.js';
export { default as Bls12381BBSSignatureProofDock2023 } from './crypto/Bls12381BBSSignatureProofDock2023.js';
export { default as Bls12381BDDT16KeyPairDock2024 } from './crypto/Bls12381BDDT16KeyPairDock2024.js';
export { default as Bls12381BDDT16MACDock2024 } from './crypto/Bls12381BDDT16MACDock2024.js';
export { default as Bls12381BDDT16MACProofDock2024 } from './crypto/Bls12381BDDT16MACProofDock2024.js';
export { default as Bls12381G2KeyPairDock2022 } from './crypto/Bls12381G2KeyPairDock2022.js';
export { default as Bls12381PSKeyPairDock2023 } from './crypto/Bls12381PSKeyPairDock2023.js';
export { default as Bls12381PSSignatureDock2023 } from './crypto/Bls12381PSSignatureDock2023.js';
export { default as Bls12381PSSignatureProofDock2023 } from './crypto/Bls12381PSSignatureProofDock2023.js';
export { default as EcdsaSecp256k1Signature2019 } from './crypto/EcdsaSecp256k1Signature2019.js';
export { default as EcdsaSecp256k1VerificationKey2019 } from './crypto/EcdsaSecp256k1VerificationKey2019.js';
export { default as Ed25519Signature2018 } from './crypto/Ed25519Signature2018.js';
export { default as Ed25519Signature2020 } from './crypto/Ed25519Signature2020.js';
export { default as Ed25519VerificationKey2018 } from './crypto/Ed25519VerificationKey2018.js';
export { default as Ed25519VerificationKey2020 } from './crypto/Ed25519VerificationKey2020.js';
export { default as JsonWebSignature2020 } from './crypto/JsonWebSignature2020.js';
export { default as CustomLinkedDataSignature } from './crypto/common/CustomLinkedDataSignature.js';
export { Bls12381BBDT16DockVerKeyName, Bls12381BBDT16MacDockName, Bls12381BBDT16MacProofDockName, Bls12381BBS23DockVerKeyName, Bls12381BBS23SigDockSigName, Bls12381BBS23SigProofDockSigName, Bls12381BBSDockVerKeyName, Bls12381BBSSigDockSigName, Bls12381BBSSigProofDockSigName, Bls12381PSDockVerKeyName, Bls12381PSSigDockSigName, Bls12381PSSigProofDockSigName, EcdsaSecp256k1SigName, EcdsaSecp256k1VerKeyName, Ed255192020SigName, Ed255192020VerKeyName, Ed25519SigName, Ed25519VerKeyName, JsonWebKey2020VerKeyName, Sr25519SigName, Sr25519VerKeyName } from './crypto/constants.js';
import 'jsonld';
import 'jsonld-signatures';
import '@docknetwork/crypto-wasm-ts';
import 'bs58';
import '@docknetwork/vc-delegation-engine';
import './crypto/common/DockCryptoSignature.js';
import 'json-stringify-deterministic';
import 'semver/preload.js';
import '../utils/types/bytes.js';
import 'crypto';
import '../utils/interfaces.js';
import '../utils/assert.js';
import '../utils/error.js';
import '../utils/types/string.js';
import '../utils/types/iterable.js';
import '../utils/types/object.js';
import '../utils/inheritance.js';
import '../utils/types/set.js';
import '../utils/types/array.js';
import 'multiformats/bases/base58';
import 'varint';
import '../utils/encoding/ss-58.js';
import 'blake2b';
import 'base64url';
import '../types/did/document/verification-method-ref.js';
import '../types/generic/typed-enum.js';
import '../types/generic/with-base.js';
import '../types/generic/with-catch-null.js';
import '../types/generic/with-eq.js';
import '../types/generic/any-of.js';
import '../types/generic/with-from.js';
import '../types/generic/with-from-json-bytes.js';
import '../types/generic/typed-null.js';
import '../types/generic/create-placeholder.js';
import '../types/generic/typed-bytes.js';
import '../types/generic/typed-string.js';
import '../types/generic/typed-array.js';
import '../types/generic/typed-tuple.js';
import '../types/generic/typed-number.js';
import '../types/generic/typed-set.js';
import '../types/generic/typed-map.js';
import '../types/generic/typed-struct.js';
import 'uuid';
import 'js-sha256';
import '../types/generic/with-qualifier.js';
import '../types/generic/utils.js';
import '../types/generic/typed-bytes-array.js';
import '../types/did/onchain/typed-did/index.js';
import '../types/did/onchain/typed-did/did-method-key/did-method-key-public-key.js';
import '../utils/encoding/base-58-btc.js';
import '../types/generic/sized.js';
import '../utils/types/number.js';
import '../types/public-keys/public-key.js';
import '../types/public-keys/public-key-x25519-value.js';
import '../types/public-keys/public-key-ed25519-value.js';
import '../types/public-keys/public-key-secp256k1-value.js';
import '../types/public-keys/public-key-sr25519-value.js';
import '../types/did/onchain/constants.js';
import '../types/did/onchain/typed-did/signature.js';
import '../types/did/onchain/typed-did/did-method-key/did-method-key-signature.js';
import '../types/signatures/signature-value.js';
import '../types/signatures/signature-ed25519-value.js';
import '../types/signatures/signature-secp256k1-value.js';
import '../types/signatures/signature.js';
import '../types/signatures/signature-sr25519-value.js';
import '../types/did/onchain/typed-did/dock-did-value.js';
import '../types/generic/typed-uuid.js';
import '../types/did/onchain/typed-did/cheqd-did.js';
import '@juanelas/base64';
import '../keypairs/keypair-secp256k1.js';
import 'elliptic';
import '../keypairs/dock-keypair.js';
import '@stablelib/ed25519';
import '@digitalcredentials/vc-status-list';
import '@transmute/json-web-signature';
import './contexts.js';
import './contexts/vc-examples-v1.js';
import './contexts/security_context.js';
import './contexts/status-list-21.js';
import './contexts/private-status-list-21.js';
import '../utils/json-fetch.js';
import './crypto/common/DockCryptoKeyPair.js';
import '@docknetwork/crypto-wasm-ts/lib/index.js';
import './crypto/common/DockCryptoSignatureProof.js';
import '../utils/encoding/multibase.js';
import '../keypairs/keypair-ed25519.js';
import '../keypairs/did-keypair.js';
import '../types/did/onchain/did-key.js';
import '../types/offchain-signatures/params/index.js';
import '../types/offchain-signatures/params/value.js';
import '../types/generic/option.js';
import '../types/offchain-signatures/curve-type.js';
import '../types/offchain-signatures/params/id.js';
import '../types/generic/with-from-dock-id.js';
import '../types/offchain-signatures/public-keys/index.js';
import '../types/generic/with-prop.js';
import '../types/generic/with-props.js';
import '../types/offchain-signatures/public-keys/value.js';
import '../types/offchain-signatures/public-keys/ref.js';
import '../types/offchain-signatures/public-keys/id.js';
import '../types/did/onchain/verification-relationship.js';
import '../types/did/document/verification-method-ref-or-ident-ref.js';
import '../types/did/document/ident-ref.js';
import 'jsonschema';
import 'blakejs';
import '../utils/ident/ensure-ident.js';
import '../utils/ident/matchers.js';
import 'pako';

/**
 * Check that credential is verified, i.e. the credential has VCDM compliant structure and the `proof`
 * (signature by issuer) is correct.
 * @param {object} [credential] The credential to verify
 * @param {object} [params] Verify parameters (TODO: add type info for this object)
 * @returns {Promise<boolean>} Returns promise that resolves to true if credential is valid and not revoked and false otherwise
 */
async function isVerifiedCredential(credential, params) {
  const result = await verifyCredential(credential, params);
  return result.verified;
}

/**
 * Check that presentation is verified, i.e. the presentation and credentials have VCDM compliant structure and
 * the `proof` (signature by holder) is correct.
 * @param {object} [params] Verify parameters (TODO: add type info for this object)
 * @returns {Promise<boolean>} - Returns promise that resolves to true if the
 * presentation is valid and all the credentials are valid and not revoked and false otherwise. The `error` will
 * describe the error if any.
 */
async function isVerifiedPresentation(presentation, params) {
  const result = await verifyPresentation(presentation, params);
  return result.verified;
}

export { isVerifiedCredential, isVerifiedPresentation, verifyCredential, verifyPresentation };
//# sourceMappingURL=index.js.map
