/** * vCard utilities for SDN identity * * Generate and parse vCards with embedded cryptographic public keys. * Compatible with iOS Contacts and other vCard 3.0 readers. */ import type { DerivedIdentity } from './types'; /** * vCard person information */ export interface VCardPersonInfo { /** Given name (first name) */ givenName?: string; /** Family name (last name) */ familyName?: string; /** Additional/middle name */ additionalName?: string; /** Name prefix (Dr., Mr., etc.) */ honorificPrefix?: string; /** Name suffix (Jr., III, etc.) */ honorificSuffix?: string; /** Email address */ email?: string; /** Organization name */ organization?: string; /** Job title */ title?: string; /** Photo as base64 data URI (data:image/jpeg;base64,...) */ photo?: string; /** Website URL */ url?: string; } /** * vCard generation options */ export interface VCardOptions { /** Include cryptographic public keys */ includeKeys?: boolean; /** Skip photo in output (for QR codes) */ skipPhoto?: boolean; /** Note to include in vCard */ note?: string; } /** * Generate a vCard with optional cryptographic keys */ export declare function generateVCard(info: VCardPersonInfo, identity?: DerivedIdentity, options?: VCardOptions): string; /** * Parsed vCard result */ export interface ParsedVCard { /** Person information */ person: VCardPersonInfo; /** Extracted cryptographic keys */ keys: { ed25519PublicKey?: Uint8Array; x25519PublicKey?: Uint8Array; }; } /** * Parse a vCard string and extract person info and keys */ export declare function parseVCard(vcardString: string): ParsedVCard; /** * Generate a vCard download blob */ export declare function createVCardBlob(vcardString: string): Blob; /** * Generate a vCard data URL for download */ export declare function createVCardDataURL(vcardString: string): string; //# sourceMappingURL=vcard.d.ts.map