import type { HumanitySignals } from '../../utils/humanity-signals';
export interface WaitlistFormProps {
    /** Optional ID for the form container (for anchor links) */
    id?: string;
    /** Optional CSS classes for the container */
    className?: string;
    /**
     * Registration handler — called with email, optional E.164 phone, and the
     * invisible bot-protection signals (honeypot + timing) to forward into the
     * POST body. Must throw on failure (toast is handled by the form). `signals`
     * is optional for backward compatibility with older callers.
     */
    onRegister: (email: string, phone?: string, signals?: HumanitySignals) => Promise<void>;
    /** Whether a registration request is currently in flight */
    isSubmitting?: boolean;
    /** Whether registration completed successfully */
    isSuccess?: boolean;
    /** Pre-filled email (e.g. from auth context) */
    defaultEmail?: string;
    /** Pre-filled phone (e.g. from user profile) */
    defaultPhone?: string;
    /** Geo-detection API endpoint. Defaults to "/api/geo". Set to null to disable. */
    geoApiUrl?: string | null;
    /** Label on the submit button. Defaults to "Get Beta Access" */
    submitLabel?: string;
    /** Label shown after success. Defaults to "You're in!" */
    successLabel?: string;
    /** Label shown on the SMS consent checkbox */
    smsCheckboxLabel?: string;
    /** Warning shown when a generic email domain is detected */
    genericEmailHint?: string;
    /** Warning shown when phone validation fails */
    invalidPhoneHint?: string;
    /** URL for the Terms of Service link in the consent text */
    termsOfServiceUrl?: string;
    /** URL for the Privacy Policy link in the consent text */
    privacyPolicyUrl?: string;
    /** SMS consent text shown below the checkbox label */
    consentText?: string;
}
/**
 * WaitlistForm
 *
 * Platform-agnostic waitlist registration form.
 * All app-specific logic (auth, API calls, platform detection) is injected via props.
 *
 * Features:
 * - Email + optional phone with country code selector
 * - Generic email domain warning
 * - Phone validation warning
 * - Auto geo-detection for country code
 * - Enter key support
 * - Loading and success states
 * - Hydration-safe skeleton
 */
export declare function WaitlistForm({ id, className, onRegister, isSubmitting, isSuccess, defaultEmail, defaultPhone, geoApiUrl, submitLabel, successLabel, smsCheckboxLabel, genericEmailHint, invalidPhoneHint, termsOfServiceUrl, privacyPolicyUrl, consentText, }: WaitlistFormProps): import("react").JSX.Element;
//# sourceMappingURL=waitlist-form.d.ts.map