import { UserIdType } from './utils'; import { Mode } from 'fs'; export interface OpenPassportAttestation { '@context': string[]; type: string[]; issuer: string; issuanceDate: string; credentialSubject: { userId: string; application: string; scope?: string; merkle_root?: string; attestation_id?: string; current_date?: string; issuing_state?: string; name?: string; passport_number?: string; nationality?: string; date_of_birth?: string; gender?: string; expiry_date?: string; older_than?: string; owner_of?: string; pubKey?: string[]; valid?: boolean; nullifier?: string; blinded_dsc_commitment?: string; }; proof: { mode: Mode; signatureAlgorithm: string; hashFunction: string; type: string; verificationMethod: string; value: { proof: string[]; publicSignals: string[]; }; vkey: string; }; dscProof: { signatureAlgorithm: string; hashFunction: string; type: string; verificationMethod: string; value: { proof: string[]; publicSignals: string[]; }; vkey: string; }; dsc: { type: string; value: string; encoding: string; }; } export declare function buildAttestation(options: { userIdType: UserIdType; mode: Mode; proof: string[]; publicSignals: string[]; signatureAlgorithm: string; hashFunction: string; dscProof?: string[]; dscPublicSignals?: string[]; signatureAlgorithmDsc?: string; hashFunctionDsc?: string; dsc?: string; }): OpenPassportDynamicAttestation; export declare class OpenPassportDynamicAttestation implements OpenPassportAttestation { '@context': string[]; type: string[]; issuer: string; issuanceDate: string; credentialSubject: { userId: string; application: string; scope?: string; merkle_root?: string; attestation_id?: string; current_date?: string; issuing_state?: string; name?: string; passport_number?: string; nationality?: string; date_of_birth?: string; gender?: string; expiry_date?: string; older_than?: string; owner_of?: string; pubKey?: string[]; valid?: boolean; nullifier?: string; }; proof: { mode: Mode; signatureAlgorithm: string; hashFunction: string; type: string; verificationMethod: string; value: { proof: string[]; publicSignals: string[]; }; vkey: any; }; dscProof: { signatureAlgorithm: string; hashFunction: string; type: string; verificationMethod: string; value: { proof: string[]; publicSignals: string[]; }; vkey: any; }; dsc: { type: string; value: string; encoding: string; }; private parsedPublicSignals; private userIdType; constructor(attestation: OpenPassportAttestation, userIdType?: UserIdType); private parsePublicSignals; getUserId(): string; getNullifier(): string; getCommitment(): string; getCSCAMerkleRoot(): string; } export declare function parsePublicSignalsProve(publicSignals: any, kScaled: any): { nullifier: any; revealedData_packed: any[]; older_than: any[]; pubKey_disclosed: any; forbidden_countries_list_packed_disclosed: any; ofac_result: any; commitment: any; blinded_dsc_commitment: any; current_date: any; user_identifier: any; scope: any; }; export declare function parsePublicSignalsDsc(publicSignals: any): { blinded_dsc_commitment: any; merkle_root: any; }; export declare function parsePublicSignalsDisclose(publicSignals: any): { nullifier: any; revealedData_packed: any; older_than: any; forbidden_countries_list_packed_disclosed: any; ofac_result: any; attestation_id: any; merkle_root: any; scope: any; current_date: any; user_identifier: any; smt_root: any; };