import { ClaimFormat } from "../vc/models/ClaimFormat.mjs";
import { MdocDeviceResponseDcqlQueryOptions, MdocDeviceResponseOptions, MdocDeviceResponsePresentationDefinitionOptions, MdocDeviceResponseVerifyOptions } from "./MdocOptions.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
type DeviceAndIssuerClaims = {
  [docType: string]: {
    [namespace: string]: {
      [claimIdentifier: string]: unknown;
    };
  };
};
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>;
  static createDeviceResponseWithDcqlQuery(agentContext: AgentContext, options: MdocDeviceResponseDcqlQueryOptions): Promise<MdocDeviceResponse>;
  static limitDisclosureToInputDescriptor(_agentContext: AgentContext, {
    mdoc,
    ...options
  }: {
    inputDescriptor: InputDescriptorV2;
    mdoc: Mdoc;
  }): Promise<{
    [k: string]: {
      [k: string]: unknown;
    };
  }>;
  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
export { DeviceAndIssuerClaims, MdocDeviceResponse };
//# sourceMappingURL=MdocDeviceResponse.d.mts.map