import type { VerificationResult, DiditConfig, WorkflowOptions, DiditTransaction, DiditTransactionOptions, DiditTransactionResult } from './types'; export { VerificationStatus, CameraLens, DiditTransactionError } from './types'; export type { VerificationResult, VerificationCompleted, VerificationCancelled, VerificationFailed, VerificationError, VerificationErrorType, SessionData, DiditConfig, ContactDetails, ExpectedDetails, WorkflowOptions, DiditTransaction, DiditTransactionInfo, DiditTransactionParticipant, DiditTransactionPaymentMethod, DiditTravelRule, DiditTransactionActionRequired, DiditTransactionResult, DiditTransactionOptions, DiditTransactionErrorCode, } from './types'; /** * Start identity verification with an existing session token. * * This launches the native Didit verification UI as a full-screen modal. * The returned promise resolves when the user completes, cancels, or * encounters an error during the verification flow. * * @param token - A valid session token obtained from the Didit API. * @param config - Optional SDK configuration (language, font, logging, etc.). * @returns A promise that resolves with the verification result. * * @example * ```ts * import { startVerification, VerificationStatus } from '@didit-protocol/sdk-react-native'; * * const result = await startVerification('session-token-here'); * if (result.type === 'completed' && result.session.status === VerificationStatus.Approved) { * console.log('Identity verified!'); * } * ``` */ export declare function startVerification(token: string, config?: DiditConfig): Promise; /** * Start identity verification by creating a new session with a workflow ID. * * This creates a verification session on the Didit backend, then launches * the native verification UI. The returned promise resolves when the flow completes. * * @param workflowId - The workflow ID that defines the verification steps. * @param options - Optional parameters including vendor data, metadata, contact/expected details, and config. * @returns A promise that resolves with the verification result. * * @example * ```ts * import { startVerificationWithWorkflow } from '@didit-protocol/sdk-react-native'; * * const result = await startVerificationWithWorkflow('workflow-id', { * vendorData: 'user-123', * contactDetails: { email: 'user@example.com' }, * config: { languageCode: 'es' }, * }); * ``` */ export declare function startVerificationWithWorkflow(workflowId: string, options?: WorkflowOptions): Promise; /** * Submit a transaction directly from the device. * * Requires a transaction SDK token minted by your backend via * `POST /v3/transactions/sdk-token/`. Device intelligence is attached * automatically. If the response contains a required user action * (verification session or wallet-ownership widget) and * `options.autoLaunchAction` is not disabled, the SDK launches it natively * and later invokes `options.onTransactionUpdated` with the refreshed * transaction. * * @param transactionToken - Transaction SDK token (X-Transaction-Token). * @param transaction - The transaction payload (camelCase wire contract). * @param options - Optional base URL override, auto-launch flag, and update callback. * @returns A promise that resolves with the created transaction. * @throws {DiditTransactionError} With `code` set to `invalid_token`, * `expired_token`, `validation` (see `fieldErrors`), or `network`. * * @example * ```ts * import { submitTransaction } from '@didit-protocol/sdk-react-native'; * * const result = await submitTransaction(sdkToken, { * txnId: 'order-123', * type: 'crypto', * info: { direction: 'outbound', amount: 0.25, currency: 'ETH' }, * travelRule: { required: true }, * }, { * onTransactionUpdated: (updated) => console.log(updated.status), * }); * console.log(result.transactionId, result.actionRequired?.type); * ``` */ export declare function submitTransaction(transactionToken: string, transaction: DiditTransaction, options?: DiditTransactionOptions): Promise; /** * Fetch a transaction previously submitted with the same transaction token. * * @param transactionToken - Transaction SDK token (X-Transaction-Token). * @param transactionId - The `transactionId` returned by {@link submitTransaction}. * @param options - Optional base URL override. * @returns A promise that resolves with the current transaction state. * @throws {DiditTransactionError} With `code` set to `invalid_token`, * `expired_token`, `validation`, or `network`. */ export declare function getTransaction(transactionToken: string, transactionId: string, options?: DiditTransactionOptions): Promise; //# sourceMappingURL=index.d.ts.map