import type { Field, GlobalConfig } from 'payload'; type BuildSiteSettingsArgs = { /** Extra fields injected by the client project */ additionalFields?: Field[]; /** * Fields for the "System Pages" tab — page assignments by role (homepage, * privacy policy, collection archives). Assembled by the caller, which is the * only place that knows which modules are enabled. The tab is omitted when * this is empty. */ systemPageFields?: Field[]; }; /** * Builds the SiteSettings global. * * Composes tabs out of field groups; it deliberately doesn't know where those * groups come from. Earlier it imported the pages and content modules directly, * which meant a global — a presentation-layer concern — had an opinion about * blogs. Now the plugin's composition root passes fields in, and adding a new * kind of page assignment needs no change here. * * Uses unnamed tabs — data stays flat (siteSettings.siteName, not * siteSettings.general.siteName). Client-provided fields land in their own * "Custom" tab so core data paths never shift. */ export declare function buildSiteSettings({ additionalFields, systemPageFields, }?: BuildSiteSettingsArgs): GlobalConfig; export {};