import { type PaywallBridge } from '@funnelsgrove/sdk/embed'; type PaywallUser = { user_id: string; email: string | null; fullName: string | null; document: Record; }; export declare const getPaywallUser: () => PaywallUser | null; export declare const hasEmbeddedPaywall: () => boolean; /** Runs before the funnel controller, analytics, and checkout can choose an identity. */ export declare function initializeEmbeddedPaywall(funnelId: string, signal: AbortSignal): Promise<{ ready: () => void; error: (code?: Parameters[0]) => void; destroy(): void; }>; /** Provider redirects return to the FG runtime, which checks ownership and payment first. */ export declare function paywallCheckoutReturnUrl(fallback: string, provider: 'stripe' | 'solidgate', failed?: boolean): string; export declare function retainPaywallCheckout(provider: 'stripe' | 'solidgate', checkoutSessionId: string): void; export declare function returnedPaywallCheckout(): { provider: 'stripe' | 'solidgate'; checkoutSessionId: string; } | null; /** True means an embedded paywall handled completion; ordinary funnel behavior stays with its caller. */ export declare function completePaywallCheckout(provider: 'stripe' | 'solidgate', checkoutSessionId: string, options?: { signal?: AbortSignal; beforeNotify?: () => Promise; }): Promise; export {};