/** * VtoClient — Platform-agnostic core client. * * No DOM dependency. Uses pluggable StorageAdapter for persistence. */ import type { UploadResult, VtoConsent } from './types.js'; import type { StorageAdapter } from './storage.js'; export interface VtoClientOptions { apiUrl: string; apiKey?: string; consent?: VtoConsent; storage?: StorageAdapter; } export declare class VtoClient { readonly apiUrl: string; readonly apiKey: string | undefined; private _consent; private _storage; private _personRef; private _personPreview; private _sessionId; constructor(options: VtoClientOptions); get consent(): VtoConsent; get personRef(): string | null; get personPreview(): string | null; get hasPersonPhoto(): boolean; get sessionId(): string | null; updateConsent(consent: Partial): void; uploadPhoto(personImageBase64: string, processBackground?: boolean): Promise; generate(productImageUrl: string): Promise; clearPerson(): void; }