import type { MDoc } from './model/mdoc.js'; import type { VerificationCallback } from './check-callback.js'; import type { JWK } from 'jose'; import type { MdocContext, X509Context } from '../c-mdoc.js'; import { DeviceSignedDocument } from './model/device-signed-document.js'; import type IssuerAuth from './model/issuer-auth.js'; import type { IssuerSignedDocument } from './model/issuer-signed-document.js'; import type { DiagnosticInformation } from './model/types.js'; export declare class Verifier { /** * * @param input.trustedCertificates The IACA root certificates list of the supported issuers. */ verifyIssuerSignature(input: { trustedCertificates: Uint8Array[]; issuerAuth: IssuerAuth; now?: Date; disableCertificateChainValidation: boolean; onCheckG?: VerificationCallback; }, ctx: { x509: X509Context; cose: MdocContext['cose']; }): Promise; verifyDeviceSignature(input: { deviceSigned: DeviceSignedDocument; ephemeralPrivateKey?: JWK | Uint8Array; sessionTranscriptBytes?: Uint8Array; onCheckG?: VerificationCallback; }, ctx: { crypto: MdocContext['crypto']; cose: MdocContext['cose']; }): Promise; verifyData(input: { mdoc: IssuerSignedDocument; onCheckG?: VerificationCallback; }, ctx: { x509: X509Context; crypto: MdocContext['crypto']; }): Promise; /** * Parse and validate a DeviceResponse as specified in ISO/IEC 18013-5 (Device Retrieval section). * * @param input.encodedDeviceResponse * @param input.encodedSessionTranscript The CBOR encoded SessionTranscript. * @param input.ephemeralReaderKey The private part of the ephemeral key used in the session where the DeviceResponse was obtained. This is only required if the DeviceResponse is using the MAC method for device authentication. */ verifyDeviceResponse(input: { encodedDeviceResponse: Uint8Array; encodedSessionTranscript?: Uint8Array; ephemeralReaderKey?: JWK | Uint8Array; disableCertificateChainValidation?: boolean; trustedCertificates: Uint8Array[]; now?: Date; onCheck?: VerificationCallback; }, ctx: { x509: X509Context; crypto: MdocContext['crypto']; cose: MdocContext['cose']; }): Promise; getDiagnosticInformation(encodedDeviceResponse: Uint8Array, options: { trustedCertificates: Uint8Array[]; encodedSessionTranscript?: Uint8Array; ephemeralReaderKey?: JWK | Uint8Array; disableCertificateChainValidation?: boolean; }, ctx: { x509: X509Context; crypto: MdocContext['crypto']; cose: MdocContext['cose']; }): Promise; } //# sourceMappingURL=verifier.d.ts.map