import { JSX } from 'solid-js'; import { AuthInputMode } from '../auth/auth-input'; export type JourneyGateStage = "auth" | "access_code" | "loading" | "none"; export interface JourneyGateProps { stage: JourneyGateStage; onAuthSubmit?: (credential: string, type: AuthInputMode, options?: { marketingSmsConsent: boolean; marketingSmsConsentText?: string; }) => Promise; onAuthVerify?: (otp: string) => Promise; onAuthSkip?: () => void | Promise; onAuthSuccess?: () => void; onAccessCodeSubmit?: (code: string) => Promise; onAccessCodeSkip?: () => void; allowAuthSkip?: boolean; authSkipLabel?: string; allowAccessCodeSkip?: boolean; /** Merchant identity from the experience for marketing SMS consent. */ marketingSmsMerchantName?: string; authTitle?: string; authDescription?: string; accessCodeTitle?: string; accessCodeDescription?: string; /** When the upcoming sequence opens — drives the countdown above the form. */ startsAt?: Date; /** When the drop closed — drives the ended line on the auth stage. */ endedAt?: Date; class?: string; className?: string; children?: JSX.Element; } export declare function JourneyGate(props: JourneyGateProps): JSX.Element; export declare namespace JourneyGate { var displayName: string; }