import type { TurboModule } from 'react-native'; export interface VouchSuccess { proofId: string; } export interface VouchError { proofId: string; reason: number; description: string; } export type VouchHeadlessProgress = 'downloadingConfig' | 'sniffingRequests' | 'proving' | 'finished'; export interface Spec extends TurboModule { /** * Initialize the Vouch SDK with a customer ID * @param customerId - Your customer ID provided by Vouch */ initialize(customerId: string, apiKey: string, languageCodeOverride: string | null): Promise; /** * Check if the SDK is initialized * @returns true if initialized, false otherwise */ isInitialized(): boolean; /** * Destroy the Vouch SDK and clear initialization state */ destroy(): Promise; /** * Start a proof request flow - presents the native UI modally * @param dataSourceId - The data source identifier * @param webhookUrl - The webhook URL for callbacks * @param inputs - Additional input parameters (can be null) * @param onSuccess - Callback called on success with proofId * @param onError - Callback called on error */ start(dataSourceId: string, webhookUrl: string, inputs: Object | null, metadata: string | null, onSuccess: (result: VouchSuccess) => void, onError: (error: VouchError) => void): void; startHeadless(dataSourceId: string, webhookUrl: string, inputs: Object | null, metadata: string | null, onProgress: (progress: VouchHeadlessProgress) => void): Promise; addListener(eventName: string): void; removeListeners(count: number): void; } declare const _default: Spec; export default _default; //# sourceMappingURL=NativeVouch.d.ts.map