import { MdocDeviceResponseDcqlQueryOptions, MdocDeviceResponseOptions, MdocDeviceResponsePresentationDefinitionOptions, MdocDeviceResponseVerifyOptions } from "./MdocOptions.mjs";
import { ClaimFormat } from "../vc/models/ClaimFormat.mjs";
import "../vc/index.mjs";
import { Mdoc } from "./Mdoc.mjs";
import { AgentContext } from "../../agent/context/AgentContext.mjs";
import "../../agent/index.mjs";
import { DeviceResponse } from "@owf/mdoc";
import { InputDescriptorV2 } from "@sphereon/pex-models";
//#region src/modules/mdoc/MdocDeviceResponse.d.ts
export type DeviceAndIssuerClaims = {
  [docType: string]: {
    [namespace: string]: {
      [claimIdentifier: string]: unknown;
    };
  };
};
export declare class MdocDeviceResponse {
  readonly deviceResponse: DeviceResponse;
  private constructor();
  /**
   * claim format is convenience method added to all credential instances
   */
  get claimFormat(): ClaimFormat.MsoMdoc;
  /**
   * Encoded is convenience method added to all credential instances
   */
  get encoded(): string;
  /**
   * To support a single DeviceResponse with multiple documents in OpenID4VP
   */
  splitIntoSingleDocumentResponses(): MdocDeviceResponse[];
  static fromBase64Url(base64Url: string): MdocDeviceResponse;
  static createDeviceResponseWithPresentationDefinition(agentContext: AgentContext, options: MdocDeviceResponsePresentationDefinitionOptions): Promise<MdocDeviceResponse>;
  /**
   * @deprecated Credo does not use this method itself, and it only supports part of DCQL. Every claim
   * of every `mso_mdoc` credential query is requested: `credential_sets`, `claim_sets` and `values`
   * are ignored, credential queries with the same doctype are merged, nested claim paths are
   * truncated, and a claim missing from the mdoc throws instead of being treated as optional. Use
   * `DcqlService.createPresentation` to present mdocs for a DCQL query, or
   * {@link MdocDeviceResponse.createDeviceResponse} with explicit `documentRequests`.
   */
  static createDeviceResponseWithDcqlQuery(agentContext: AgentContext, options: MdocDeviceResponseDcqlQueryOptions): Promise<MdocDeviceResponse>;
  static limitDisclosureToInputDescriptor(_agentContext: AgentContext, { mdoc, ...options }: {
    inputDescriptor: InputDescriptorV2;
    mdoc: Mdoc;
  }): Promise<Record<string, Record<string, unknown>>>;
  private static matchInputDescriptor;
  private static assertMdocInputDescriptor;
  static createDeviceResponse(agentContext: AgentContext, options: MdocDeviceResponseOptions): Promise<MdocDeviceResponse>;
  verify(agentContext: AgentContext, options: Omit<MdocDeviceResponseVerifyOptions, 'deviceResponse'>): Promise<void>;
  private static calculateSessionTranscriptBytes;
  private static getAlgForDeviceKeyJwk;
  get issuerClaims(): DeviceAndIssuerClaims;
  get deviceClaims(): DeviceAndIssuerClaims;
}
//#endregion
//# sourceMappingURL=MdocDeviceResponse.d.mts.map