import { SingleOrArray } from "../../../types.mjs";
import { ClaimFormat } from "../../vc/models/ClaimFormat.mjs";
import { W3cJsonLdVerifiableCredential } from "../../vc/data-integrity/models/W3cJsonLdVerifiableCredential.mjs";
import { SdJwtVcHeader } from "../../sd-jwt-vc/SdJwtVcOptions.mjs";
import { SdJwtVc } from "../../sd-jwt-vc/SdJwtVcService.mjs";
import "../../sd-jwt-vc/index.mjs";
import { MdocDeviceResponse } from "../../mdoc/MdocDeviceResponse.mjs";
import "../../mdoc/index.mjs";
import { W3cJwtVerifiableCredential } from "../../vc/jwt-vc/W3cJwtVerifiableCredential.mjs";
import { W3cJwtVerifiablePresentation } from "../../vc/jwt-vc/W3cJwtVerifiablePresentation.mjs";
import { DifPresentationExchangeDefinition, DifPresentationExchangeSubmission, VerifiablePresentation } from "../models/index.mjs";
import { W3cJsonLdVerifiablePresentation } from "../../vc/data-integrity/models/W3cJsonLdVerifiablePresentation.mjs";
import "../../vc/index.mjs";
import * as _owf_mdoc0 from "@owf/mdoc";
import * as _sd_jwt_sd_jwt_vc0 from "@sd-jwt/sd-jwt-vc";
import * as _sphereon_pex_models0 from "@sphereon/pex-models";

//#region src/modules/dif-presentation-exchange/utils/presentationSelection.d.ts
type DifPexPresentationWithDescriptor = ReturnType<typeof extractPresentationsWithDescriptorsFromSubmission>[number];
declare function extractPresentationsWithDescriptorsFromSubmission(presentations: SingleOrArray<VerifiablePresentation>, submission: DifPresentationExchangeSubmission, definition: DifPresentationExchangeDefinition): ({
  readonly claimFormat: ClaimFormat.MsoMdoc;
  readonly descriptor: _sphereon_pex_models0.Descriptor;
  readonly presentation: MdocDeviceResponse;
  readonly credential: _owf_mdoc0.Document;
  readonly inputDescriptor: _sphereon_pex_models0.InputDescriptorV1 | _sphereon_pex_models0.InputDescriptorV2;
} | {
  readonly claimFormat: ClaimFormat.JwtVp | ClaimFormat.LdpVp;
  readonly descriptor: _sphereon_pex_models0.Descriptor;
  readonly presentation: W3cJwtVerifiablePresentation | W3cJsonLdVerifiablePresentation;
  readonly credential: W3cJwtVerifiableCredential | W3cJsonLdVerifiableCredential;
  readonly inputDescriptor: _sphereon_pex_models0.InputDescriptorV1 | _sphereon_pex_models0.InputDescriptorV2;
} | {
  readonly claimFormat: ClaimFormat.SdJwtDc;
  readonly descriptor: _sphereon_pex_models0.Descriptor;
  readonly presentation: SdJwtVc<SdJwtVcHeader, _sd_jwt_sd_jwt_vc0.SdJwtVcPayload>;
  readonly credential: SdJwtVc<SdJwtVcHeader, _sd_jwt_sd_jwt_vc0.SdJwtVcPayload>;
  readonly inputDescriptor: _sphereon_pex_models0.InputDescriptorV1 | _sphereon_pex_models0.InputDescriptorV2;
})[];
//#endregion
export { DifPexPresentationWithDescriptor, extractPresentationsWithDescriptorsFromSubmission };
//# sourceMappingURL=presentationSelection.d.mts.map