import type { Metadata } from 'next'; /** * Options for creating a QwickPress admin layout. */ export interface QwickPressAdminLayoutOptions { /** * Product name for layout metadata title. Default: "QwickPress" * * If using qwickPressPlugin, pass the same productName there * so admin titleSuffix and layout metadata stay consistent. */ productName?: string; /** Default theme when ThemeSettings global is unavailable. Default: "dark" */ defaultTheme?: 'light' | 'dark'; /** Default palette. Default: "default" */ defaultPalette?: string; } /** * Creates a QwickPress-branded admin layout component for Payload CMS. * * Wraps Payload's RootLayout with: * 1. ThemeProvider with theme settings fetched from Payload globals * 2. Configurable product name for metadata * * The caller must define serverFunction in their own layout.tsx * (where Next.js can statically analyze 'use server'). * * Usage in client's app/(payload)/layout.tsx: * * import config from '@payload-config'; * import { importMap } from './admin/importMap.js'; * import { handleServerFunctions } from '@payloadcms/next/layouts'; * import type { ServerFunctionClient } from 'payload'; * import { createQwickPressAdminLayout } from '@qwickapps/cms/nextjs/admin'; * import '@payloadcms/next/css'; * import '@qwickapps/cms/styles/admin-theme.css'; * * const serverFunction: ServerFunctionClient = async function (args) { * 'use server'; * return handleServerFunctions({ ...args, config, importMap }); * }; * * const { metadata, createLayout } = createQwickPressAdminLayout({ productName: 'FaabZi' }); * export { metadata }; * export default createLayout({ config, importMap, serverFunction }); */ export declare function createQwickPressAdminLayout(options?: QwickPressAdminLayoutOptions): { metadata: Metadata; createLayout: (payloadConfig: { config: any; importMap: any; serverFunction: any; }) => { ({ children }: { children: React.ReactNode; }): Promise; displayName: string; }; }; //# sourceMappingURL=QwickPressAdminLayout.d.ts.map