import type { DataVerificationConfig, DataVerificationResult, DataState, DataObservabilityHandler } from "./data.types"; interface TruliooSessionClient { authorizedPost(path: string, body: Req): Promise; authorizedGet(path: string): Promise; /** Optional: GET that returns headers alongside body. Used for Retry-After. */ authorizedGetWithHeaders?(path: string): Promise<{ body: Res; headers: Record; }>; } export declare const DATA_ENDPOINTS: { readonly verify: "/transactions/data/verify"; readonly poll: (txnId: string) => string; /** Result endpoint -- SDK NEVER calls this. PII isolation boundary. */ readonly result: (txnId: string) => string; /** Allowed paths for session client creation (excludes result). */ readonly allPaths: string[]; }; /** * Data Verification module for Web -- Trulioo SDK. * * ## Flow * 1. Call `verify(config)` to submit PII for verification. * 2. SDK internally polls GET /transactions/{id}/data until terminal. * 3. Returns DataVerificationResult with outcome -- no PII. * * ## PII Safety * The SDK does NOT call /transactions/{id}/data/result. * PII is submitted once and never retrieved by the SDK. */ export declare class TruliooData { private client; private _state; private stateListeners; private abortController; private observabilityHandler; constructor(client: TruliooSessionClient); /** Set observability handler for structured log events. */ setObservabilityHandler(handler: DataObservabilityHandler | null): void; get state(): DataState; onStateChange(listener: (state: DataState) => void): () => void; private setState; private emit; /** * Submit data for KYC verification and poll until terminal. * * @param config Verification configuration with PII fields and country code. * @returns Terminal result with outcome and match status -- no PII returned. */ verify(config: DataVerificationConfig): Promise; /** Reset state to IDLE. Valid from any state. Cancels in-flight polling. */ reset(): void; private post; private getWithHeaders; } export {};