export type ThreedsProvider = 'basis_theory'; export interface PaymentInstrument { id: string; token: string | null; type: string; card: { maskedCardNumber?: string; expirationMonth?: number; expirationYear?: number; }; } export interface ThreedsSession { id: string; sessionId: string; provider: string; } export interface ThreedsChallenge { sessionId: string; acsChallengeUrl: string; acsTransactionId: string; threeDSVersion: string; } export interface ThreedsOptions { provider?: ThreedsProvider; } export interface ThreedsHook { createSession: (paymentInstrument: PaymentInstrument, options?: ThreedsOptions) => Promise; startChallenge: (challengeData: ThreedsChallenge, options?: ThreedsOptions) => Promise; isLoading: boolean; error: Error | null; } interface UseThreedsOptions { defaultProvider?: ThreedsProvider; } export declare function useThreeds(options?: UseThreedsOptions): ThreedsHook; export {};