import { JsonObj } from "../../../utils"; export declare namespace OEA { const ProtocolIds: { readonly ConnectionRequest: "https://atalaprism.io/mercury/connections/1.0/request"; readonly ConnectionResponse: "https://atalaprism.io/mercury/connections/1.0/response"; readonly ProposePresentation: "https://didcomm.atalaprism.io/present-proof/3.0/propose-presentation"; readonly RequestPresentation: "https://didcomm.atalaprism.io/present-proof/3.0/request-presentation"; readonly Presentation: "https://didcomm.atalaprism.io/present-proof/3.0/presentation"; readonly PrismOnboarding: "https://atalaprism.io/did-request"; readonly PrismRevocation: "https://atalaprism.io/revocation_notification/1.0/revoke"; }; const PRISM_JWT = "prism/jwt"; const PRISM_SDJWT = "vc+sd-jwt"; interface CredentialOffer { options: { challenge: string; domain: string; }; } enum DescriptorItemFormat { JWT_VC = "jwt_vc", JWT_VP = "jwt_vp", SDJWT = "sdjwt" } type JWTPresentationClaims = { schema?: string; issuer?: string; claims: JsonObj; }; type SDJWTPresentationClaims = { schema?: string; issuer?: string; claims: JsonObj; }; type SDJWTPresentationSubmission = { disclosures: any[]; protected: string; payload: string; signature: string; }; interface PresentationSubmission { presentation_submission: { id: string; definition_id: string; descriptor_map: DescriptorItem[]; }; verifiablePresentation: string[]; } interface DescriptorItem { id: string; format: string; path: string; path_nested?: DescriptorItem; } interface PresentationRequest { options: { challenge: string; domain: string; }; presentation_definition: { id: string; input_descriptors: InputDescriptor[]; format?: DefinitionFormat; }; } type DefinitionFormat = { jwt?: { alg: string[]; }; sdjwt?: { alg: string[]; }; }; type InputDescriptor = { id: string; constraints: InputConstraints; name?: string; purpose?: string; format?: DefinitionFormat; }; type InputFieldFilter = { type: string; pattern?: string; enum?: PredicateType[]; const?: PredicateType[]; value?: PredicateType; }; type PredicateType = string | number; type InputField = { path: string[]; id?: string; purpose?: string; name?: string; filter?: InputFieldFilter; optional?: boolean; }; type InputConstraints = { fields: InputField[]; limit_disclosure: InputLimitDisclosure; }; enum InputLimitDisclosure { REQUIRED = "required", PREFERRED = "preferred" } }