import { JsonObject } from "../../../types.mjs";
import { ClaimPath } from "../../sd-jwt-vc/disclosureFrame.mjs";
import { W3cV2SdJwtVerifiableCredential } from "./W3cV2SdJwtVerifiableCredential.mjs";
import { W3cV2SdJwtVerifiablePresentation } from "./W3cV2SdJwtVerifiablePresentation.mjs";
import { W3cV2VerifyCredentialResult, W3cV2VerifyPresentationResult } from "../models/W3cV2VerifyResult.mjs";
import "../models/index.mjs";
import { W3cV2SdJwtSignCredentialOptions, W3cV2SdJwtSignPresentationOptions, W3cV2SdJwtVcPresentOptions, W3cV2SdJwtVerifyCredentialOptions, W3cV2SdJwtVerifyPresentationOptions } from "../W3cV2CredentialServiceOptions.mjs";
import { AgentContext } from "../../../agent/context/AgentContext.mjs";
import "../../../agent/context/index.mjs";
//#region src/modules/vc/sd-jwt-vc/W3cV2SdJwtCredentialService.d.ts
/**
 * Supports signing and verifying W3C Verifiable Credentials and Presentations
 * secured with Selective Disclosure JSON Web Tokens (SD-JWT).
 *
 * @see https://www.w3.org/TR/vc-data-model/
 * @see https://www.w3.org/TR/vc-jose-cose/#with-sd-jwt
 */
export declare class W3cV2SdJwtCredentialService {
  /**
   * Signs a credential
   */
  signCredential(agentContext: AgentContext, options: W3cV2SdJwtSignCredentialOptions): Promise<W3cV2SdJwtVerifiableCredential>;
  /**
   * Verifies the signature(s) of a credential
   *
   * @param credential the credential to be verified
   * @returns the verification result
   */
  verifyCredential(agentContext: AgentContext, options: W3cV2SdJwtVerifyCredentialOptions): Promise<W3cV2VerifyCredentialResult>;
  /**
   * Signs a presentation including the credentials it includes
   *
   * @param presentation the presentation to be signed
   * @returns the signed presentation
   */
  signPresentation(agentContext: AgentContext, options: W3cV2SdJwtSignPresentationOptions): Promise<W3cV2SdJwtVerifiablePresentation>;
  /**
   * Verifies a presentation including the credentials it includes
   *
   * @param presentation the presentation to be verified
   * @returns the verification result
   */
  verifyPresentation(agentContext: AgentContext, options: W3cV2SdJwtVerifyPresentationOptions): Promise<W3cV2VerifyPresentationResult>;
  present(agentContext: AgentContext, options: W3cV2SdJwtVcPresentOptions): Promise<W3cV2SdJwtVerifiableCredential>;
  /**
   * @deprecated use `applyDisclosuresForPaths` instead
   */
  applyDisclosuresForPayload(compactSdJwtVc: string, requestedPayload: JsonObject): W3cV2SdJwtVerifiableCredential;
  applyDisclosuresForPaths(compactSdJwtVc: string, disclosedPaths: ClaimPath[]): W3cV2SdJwtVerifiableCredential;
  private validateDisclosureFrame;
  private getBaseSdJwtConfig;
  private logCredentialShouldWarnings;
  private logPresentationShouldWarnings;
}
//#endregion
//# sourceMappingURL=W3cV2SdJwtCredentialService.d.mts.map