import * as next_auth from 'next-auth'; import { CmsConfig, BlockResponse } from 'inscribed'; /** * Drop-in replacement for `CmsProvider` when using NextAuth + Keycloak. * * The parent Server Component should: * 1. Call `getServerSession(authOptions)` to get the session * 2. Derive `isAdmin` (e.g. `session !== null`) and `userSub` (`session?.user?.id`) * 3. Server-fetch `initialBlocks` with `getCmsContent` * 4. Pass `onAfterSave={revalidateCmsSlug}` from `inscribed/actions` * * @param {{ * config: CmsConfig | { baseUrl: string }, * isAdmin: boolean, * userSub: string | null, * initialBlocks?: BlockResponse[], * onAfterSave?: (slug: string) => void | Promise, * session?: import("next-auth").Session | null, * children: React.ReactNode, * }} props */ declare function NextAuthCmsProvider({ session, ...props }: { config: CmsConfig | { baseUrl: string; }; isAdmin: boolean; userSub: string | null; initialBlocks?: BlockResponse[]; onAfterSave?: (slug: string) => void | Promise; session?: next_auth.Session | null; children: React.ReactNode; }): any; export { NextAuthCmsProvider };