import type { VerifiableCredential, VerifiablePresentation } from '../types/did.js'; import type { ProviderAttestation } from '../types/attestation.js'; export interface PassportVCInput { agentId: string; publicKey: string; agentName?: string; mission?: string; capabilities?: string[]; grade?: number; delegationScope?: string[]; createdAt?: string; expiresAt?: string; /** SPIFFE or other infrastructure attestation to include as evidence */ evidence?: ProviderAttestation[]; } export interface VCVerifyResult { valid: boolean; checks: string[]; } export interface VPVerifyResult { valid: boolean; credentials: VerifiableCredential[]; checks: string[]; } /** * Wrap an APS passport as a W3C Verifiable Credential using did:key * as the subject identifier. * * credentialSubject includes grade and delegationScope (the delegation * ceiling). If evidence (e.g., from importSPIFFESVID) is provided, it * is attached to the VC as W3C evidence, proving the identity claim * is backed by infrastructure attestation. */ export declare function passportToVerifiableCredential(passport: PassportVCInput, issuerPrivateKey: string): Promise; /** * Verify a Verifiable Credential's Ed25519 proof. * Returns a checks array listing each verification step and its result. */ export declare function verifyVerifiableCredential(vc: VerifiableCredential): Promise; /** * Wrap one or more VCs into a Verifiable Presentation for a verifier. * Uses did:key for the holder identifier. * Challenge and domain provide replay protection. */ export declare function createVerifiablePresentation(credentials: VerifiableCredential[], holderPrivateKey: string, options?: { challenge?: string; domain?: string; }): Promise; /** * Verify a Verifiable Presentation: check the presentation proof, * then verify each contained credential. */ export declare function verifyVerifiablePresentation(vp: VerifiablePresentation): Promise; //# sourceMappingURL=vc-wrapper.d.ts.map