import type { NitrogenComponentManifestInput } from './inventory/manifest.js'; export interface NitrogenConnectorPluginOptions { /** Disable the plugin without removing it from config */ disabled?: boolean; /** * Existing Payload collections to enable Nitrogen editing on. * The plugin will inject the required fields (nitrogenData, pageSettings, etc.) * and generate API endpoints for each collection. * * Example: `collections: ['pages', 'blog-posts']` */ collections?: string[]; /** * Optional frontend route patterns for collections whose public URLs do not * match the raw collection slug. * * Example: * `collectionRoutes: { posts: '/blog/[slug]', patent: '/patents/[slug]' }` */ collectionRoutes?: Record; /** * Private frontend route used as the iframe target for individual document * editing. Must include both `[collection]` and `[id]` placeholders. * * Example: `/preview/[collection]/[id]` */ editorPreviewRoute?: string; /** * A static manifest or async loader describing the project's registered * Nitrogen components and their prop schemas. */ componentManifest?: NitrogenComponentManifestInput; /** * Collections whose saved `nitrogenData` should be indexed for the component * inventory. These do not need to be editor-enabled. */ indexCollections?: string[]; /** * Slug of the auth-enabled collection that owns MCP agent credentials. When * omitted, the first collection with `auth` enabled is used (falling back to * `users`). */ userCollection?: string; /** * Enables Payload-native localization for field data. When set (and the * Payload config does not already configure `localization` itself), the * plugin injects `localization: { locales, defaultLocale, fallback: true }` * into the Payload config and marks eligible text fields (`title` on * Nitrogen-enabled collections and on the plugin's own template collection) * as `localized: true`. Localize your own custom fields yourself. * * IMPORTANT: the locales here must match the site languages configured in * the Nitrogen settings (`nitrogenConfig.localization.languages`), and * `defaultLocale` must match `defaultLanguage` — Payload stores the field * translations, Nitrogen stores the builder-content translations, and the * language codes are the join key. * * If your Payload config already has `localization` configured, that config * is respected and this option does not override it. */ localization?: { locales: string[]; defaultLocale: string; }; } export declare const nitrogenConnectorPlugin: (options?: NitrogenConnectorPluginOptions) => any; export { NitrogenTemplates } from "./collections/NitrogenTemplates.js"; export { NitrogenSettings } from "./globals/NitrogenSettings.js"; export { NitrogenEditButton } from "./components/NitrogenEditButton.js"; export { NitrogenViewButton } from "./components/NitrogenViewButton.js"; export { buildDynamicData, getNitrogenSettings } from "./endpoints/helpers.js"; export { buildDynamicDataMeta, getRequestLanguage, resolveLocaleOptions, } from "./localization.js"; export { createCollectionEndpoints } from "./endpoints/collection-endpoints.js"; export { nitrogen } from "@nitrogenbuilder/client-core"; export type { ComponentSettings, ComponentSettingsToProps, } from "@nitrogenbuilder/types";