export type EmailCapturePersistenceResult = { user: User; eventId: string; eventCreated: boolean; canonicalUser: User | null; activeSubscription: boolean; }; export type EmailCaptureSingleFlight = { current: Promise | null; }; export type SubmitEmailCaptureInput = { email: string; isPreview: boolean; singleFlight: EmailCaptureSingleFlight; retryPendingNavigation?: () => boolean | Promise; persist: (email: string) => Promise>; applyUser: (user: User) => void; adoptCanonicalUser: (user: User) => void; applyPreviewEmail: (email: string) => void; fanOutBrowserDestinations: (eventId: string) => void | Promise; completeVisit: () => boolean; resolveNextStep: (canonicalUser: User | null, activeSubscription: boolean) => string | null; navigate: (stepId: string) => void; }; export declare const createEmailCaptureSingleFlight: () => EmailCaptureSingleFlight; export declare const submitEmailCapture: (input: SubmitEmailCaptureInput) => Promise;