import { SingleOrArray } from "../../../types.js";
import { ClaimFormat } from "../models/ClaimFormat.js";

//#region src/modules/vc/sd-jwt-vc/W3cV2SdJwt.d.ts
interface W3cV2SdJwtHeader {
  alg: string;
  kid?: string;
  [property: string]: unknown;
}
interface W3cV2SdJwtPayload {
  type: SingleOrArray<string>;
  iss?: string;
  jti?: string;
  [property: string]: unknown;
}
interface W3cV2SdJwt<T extends ClaimFormat.SdJwtW3cVc | ClaimFormat.SdJwtW3cVp> {
  claimFormat: T;
  compact: string;
  header: W3cV2SdJwtHeader;
  payload: W3cV2SdJwtPayload;
  prettyClaims: W3cV2SdJwtPayload;
  kbJwt?: {
    header: Record<string, unknown>;
    payload: Record<string, unknown>;
  };
}
declare function sdJwtVcHasher(data: string | ArrayBufferLike, alg: string): Uint8Array<ArrayBuffer>;
declare function decodeSdJwt<T extends ClaimFormat.SdJwtW3cVc | ClaimFormat.SdJwtW3cVp>(compact: string, claimFormat: T): W3cV2SdJwt<T>;
//#endregion
export { W3cV2SdJwt, W3cV2SdJwtHeader, W3cV2SdJwtPayload, decodeSdJwt, sdJwtVcHasher };
//# sourceMappingURL=W3cV2SdJwt.d.ts.map