import { ClaimFormat } from "../models/ClaimFormat.js";
import { W3cV2Credential } from "../models/credential/W3cV2Credential.js";
import { W3cV2SdJwt } from "./W3cV2SdJwt.js";

//#region src/modules/vc/sd-jwt-vc/W3cV2SdJwtVerifiableCredential.d.ts
interface W3cV2SdJwtVerifiableCredentialOptions {
  sdJwt: W3cV2SdJwt<ClaimFormat.SdJwtW3cVc>;
}
/**
 * Represents a Verifiable Credential encoded as a SD-JWT.
 *
 * @see https://www.w3.org/TR/vc-jose-cose/#securing-with-sd-jwt
 */
declare class W3cV2SdJwtVerifiableCredential {
  constructor(options: W3cV2SdJwtVerifiableCredentialOptions);
  static fromCompact(compact: string): W3cV2SdJwtVerifiableCredential;
  /**
   * The original SD-JWT.
   */
  readonly sdJwt: W3cV2SdJwt<ClaimFormat.SdJwtW3cVc>;
  /**
   * 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 SD-JWT credentials this is always `vc+sd-jwt`.
   */
  get claimFormat(): ClaimFormat.SdJwtW3cVc;
  /**
   * Validates the SD-JWT and the resolved credential.
   */
  validate(): void;
}
//#endregion
export { W3cV2SdJwtVerifiableCredential, W3cV2SdJwtVerifiableCredentialOptions };
//# sourceMappingURL=W3cV2SdJwtVerifiableCredential.d.ts.map