import * as errors from './errors'; import type { RadarTrackVerifiedParams, RadarStartTrackingVerifiedParams, RadarTrackVerifiedResponse, RadarRevealRiskResponse } from './types'; import type { RadarPlugin } from 'radar-sdk-js'; export { errors }; /** Fraud detection API mounted on `Radar.fraud`. */ export interface RadarFraud { errors: typeof errors; /** Tracks the user's location with device integrity information for location verification use cases. */ trackVerified(params?: RadarTrackVerifiedParams, encrypted?: boolean): Promise; /** Starts tracking the user's location with device integrity information for location verification use cases. */ startTrackingVerified(params: RadarStartTrackingVerifiedParams): void; /** Stops tracking the user's location with device integrity information for location verification use cases. */ stopTrackingVerified(): void; /** Returns the user's last verified location token if still valid, or requests a fresh token if not. */ getVerifiedLocationToken(params?: RadarTrackVerifiedParams): Promise; /** Clears the user's last verified location token. */ clearVerifiedLocationToken(): void; /** Reveals network, device, and fraud risk signals for the current device without tracking location. */ revealRisk(): Promise; /** Clears the cached reveal risk ID. */ clearRevealRiskId(): void; /** Optionally sets the user's expected country and state for jurisdiction checks. */ setExpectedJurisdiction(countryCode?: string, stateCode?: string): void; /** Sets the user's preferred language. Pass a BCP-47 language tag like `"en"` or `"es-PR"`. */ setUserLanguage(language: string | null): void; /** Registers a callback for client-side delivery of verified location tokens. */ onTokenUpdated(callback: (token: RadarTrackVerifiedResponse) => void): void; /** Registers a callback for IP change notifications. Polling starts automatically when a callback is set, and stops when set to `null`. */ onIpChanged(callback: (() => void) | null): void; } declare module 'radar-sdk-js' { /** Fraud extensions added by `@radarlabs/plugin-fraud`. */ namespace Radar { /** Fraud detection API. Available after registering the fraud plugin via `Radar.registerPlugin(createFraudPlugin())`. */ let fraud: RadarFraud; /** @deprecated Use Radar.fraud.trackVerified() */ function trackVerified(params?: RadarTrackVerifiedParams, encrypted?: boolean): Promise; /** @deprecated Use Radar.fraud.startTrackingVerified() */ function startTrackingVerified(params: RadarStartTrackingVerifiedParams): void; /** @deprecated Use Radar.fraud.stopTrackingVerified() */ function stopTrackingVerified(): void; /** @deprecated Use Radar.fraud.getVerifiedLocationToken() */ function getVerifiedLocationToken(params?: RadarTrackVerifiedParams): Promise; /** @deprecated Use Radar.fraud.clearVerifiedLocationToken() */ function clearVerifiedLocationToken(): void; /** @deprecated Use Radar.fraud.setExpectedJurisdiction() */ function setExpectedJurisdiction(countryCode?: string, stateCode?: string): void; /** @deprecated Use Radar.fraud.onTokenUpdated() */ function onTokenUpdated(callback: (token: RadarTrackVerifiedResponse) => void): void; } } /** * Create the fraud detection plugin for `radar-sdk-js`. * * @example * ```ts * import Radar from 'radar-sdk-js'; * import { createFraudPlugin } from '@radarlabs/plugin-fraud'; * * Radar.registerPlugin(createFraudPlugin()); * Radar.initialize('prj_live_pk_...'); * * const { token } = await Radar.fraud.trackVerified(); * ``` */ export declare function createFraudPlugin(): RadarPlugin; export type { RadarTrackVerifiedParams, RadarStartTrackingVerifiedParams, RadarTrackVerifiedResponse, RadarRevealRiskResponse, } from './types';