import { ClaimFormat } from "../models/ClaimFormat.js";
import { W3cV2Credential } from "../models/credential/W3cV2Credential.js";
import { Jwt } from "../../../crypto/jose/jwt/Jwt.js";

//#region src/modules/vc/jwt-vc/W3cV2JwtVerifiableCredential.d.ts
interface W3cV2JwtVerifiableCredentialOptions {
  jwt: Jwt;
}
/**
 * Represents a Verifiable Credential encoded as a JWT.
 *
 * @see https://www.w3.org/TR/vc-jose-cose/#securing-with-jose
 */
declare class W3cV2JwtVerifiableCredential {
  constructor(options: W3cV2JwtVerifiableCredentialOptions);
  static fromCompact(compact: string): W3cV2JwtVerifiableCredential;
  /**
   * The original JWT.
   */
  readonly jwt: Jwt;
  /**
   * Resolved credential is the fully resolved {@link W3cV2Credential} instance.
   */
  readonly resolvedCredential: W3cV2Credential;
  /**
   * The encoded version of this credential.
   */
  get encoded(): string;
  /**
   * The {@link ClaimFormat} of the credential.
   *
   * For W3C VC JWT credentials this is always `vc+jwt`.
   */
  get claimFormat(): ClaimFormat.JwtW3cVc;
  /**
   * Validates the JWT and the resolved credential contained.
   */
  validate(): void;
}
//#endregion
export { W3cV2JwtVerifiableCredential, W3cV2JwtVerifiableCredentialOptions };
//# sourceMappingURL=W3cV2JwtVerifiableCredential.d.ts.map