import type { RebasePlugin, RebaseContext } from "@rebasepro/cms-types"; /** * Render-less component that manages plugin lifecycle hooks. * * - Calls `lifecycle.onMount(context)` once, the first time auth is ready. * - Calls `lifecycle.onAuthStateChange(user)` on every change of user after * that — `null` on sign-out, the new user on the next sign-in. * - Calls `lifecycle.onUnmount()` when the Rebase tree unmounts. * * Mounted for as long as there are plugins, signed in or not. It used to be * mounted only while a user was signed in, so a sign-out unmounted it and the * next sign-in mounted a fresh one — `onAuthStateChange` could never see the * user change, and never fired. * * Mount this component inside the Rebase tree, below PluginProviderStack, * so that the RebaseContext is fully available. * * @internal */ export declare function PluginLifecycleManager({ plugins, context, authReady }: { plugins: RebasePlugin[]; context: RebaseContext; /** Signed in, or sign-in skipped: what `onMount` waits for. */ authReady: boolean; }): null;