import { ClaimFormat } from "../models/ClaimFormat.mjs";
import { W3cV2Credential } from "../models/credential/W3cV2Credential.mjs";
//#region src/modules/vc/data-integrity/W3cV2DataIntegrityVerifiableCredential.d.ts
export type W3cV2DataIntegritySecuredCredential = Record<string, unknown> & {
  proof: unknown;
};
export interface W3cV2DataIntegrityVerifiableCredentialOptions {
  securedCredential: W3cV2DataIntegritySecuredCredential;
}
/**
 * Represents a Verifiable Credential secured with Data Integrity proof(s).
 *
 * @see https://www.w3.org/TR/vc-data-integrity/
 */
export declare class W3cV2DataIntegrityVerifiableCredential {
  constructor(options: W3cV2DataIntegrityVerifiableCredentialOptions);
  static fromObject(credential: W3cV2DataIntegritySecuredCredential): W3cV2DataIntegrityVerifiableCredential;
  /**
   * The original credential object with embedded Data Integrity proof(s).
   */
  readonly securedCredential: W3cV2DataIntegritySecuredCredential;
  /**
   * Resolved credential is the fully resolved {@link W3cV2Credential} instance.
   */
  readonly resolvedCredential: W3cV2Credential;
  /**
   * The JSON representation of this credential.
   */
  get encoded(): string;
  /**
   * The {@link ClaimFormat} of the credential.
   *
   * For W3C VC Data Integrity credentials this is always `di_vc`.
   */
  get claimFormat(): ClaimFormat.DiVc;
  /**
   * Validates the credential and proof structure.
   */
  validate(): void;
}
//#endregion
//# sourceMappingURL=W3cV2DataIntegrityVerifiableCredential.d.mts.map