/**
 * SDK Site Configuration
 *
 * Types and utilities for defining site-level configuration
 * that SDK sites expose to the dashboard.
 */
import type { RiverbankSiteConfig, ContentConfig } from './types';
export type { RiverbankSiteConfig, SiteStyleConfig, SectionBackground, SectionOptionsConfig, ContainerOptionsConfig, SectionSpacing, ContainerMaxWidth, ContainerAlignment, SdkThemeConfig, SdkThemePalette, SdkCustomBlock, FieldSelectOption, BlockFieldConfig, BlockFieldOptionsMap, BlockFieldExtension, BlockFieldExtensionsMap, SdkWorkflowConfig, SdkWorkflowTrigger, SdkWorkflowConfirmation, FieldDefinition, ContentConfig, ContentTypeConfig, PageConfig, EntryConfig, BlockConfig, NavigationMenuConfig, NavigationItemConfig, NavigationLinkType, SiteSettingsConfig, } from './types';
export type { BindingSource, TemplateBindingMetaPath, TemplateBlockConfig, TemplateConfig, } from './content-types';
export { TEMPLATE_BINDING_META_PATHS, describeInvalidTemplateBindingMetaPath, } from './content-types';
export { fieldBinding, metaBinding, literalBinding, transformBinding, fallbackBinding, } from './bindings';
export { riverbankSiteConfigSchema, siteStyleConfigSchema, sectionBackgroundSchema, sectionSpacingSchema, containerMaxWidthSchema, containerAlignmentSchema, sectionOptionsSchema, containerOptionsSchema, sdkThemeConfigSchema, sdkThemePaletteSchema, sdkCustomBlockSchema, fieldSelectOptionSchema, blockFieldConfigSchema, blockFieldOptionsSchema, blockFieldExtensionSchema, blockFieldExtensionsSchema, sdkWorkflowConfigSchema, sdkWorkflowTriggerSchema, sdkWorkflowConfirmationSchema, sdkWorkflowsSchema, contentConfigSchema, } from './validation';
export { dashboardConfigSchema, dashboardNavigationConfigSchema, dashboardNavVisibilitySchema, dashboardNavVisibilityBaseSchema, dashboardNavVisibilityRolesSchema, } from './dashboard-validation';
export { contentTypeConfigSchema, pageConfigSchema, entryConfigSchema, navigationMenuConfigSchema, navigationItemConfigSchema, siteSettingsConfigSchema, blockConfigSchema, bindingSourceSchema, templateBlockConfigSchema, templateConfigSchema, } from './content-validation';
export type { ValidatedRiverbankSiteConfig, ValidatedSdkCustomBlock, ContentConfigInput, ContentConfigOutput, } from './validation';
export { validateLayout, validateLayoutNodeTypes, validateTransformIds, type LayoutValidationError, type LayoutValidationResult, } from './layout-validation';
export { SYSTEM_BLOCK_KINDS, type SystemBlockKind, type CustomBlockKind, type BlockKind, } from '../types';
export { defineTypedContentType, createEntry, tiptap, type TypedContentType, type TypedEntryConfig, type InferDataFromFields, type FieldValueType, } from './typed-entries';
export type { TipTapNode, Media, LinkValue, InternalLinkValue, ExternalLinkValue, CustomLinkValue, } from './typed-entries';
/**
 * Helper function to define a Builder site configuration with type checking.
 *
 * @example
 * ```typescript
 * import { defineConfig } from '@riverbankcms/sdk/config';
 *
 * export default defineConfig({
 *   siteId: '123e4567-e89b-12d3-a456-426614174000',
 *   theme: {
 *     palette: {
 *       primary: '#6d28d9',
 *     },
 *   },
 *   styles: {
 *     sectionBackgrounds: [
 *       { id: 'primary', label: 'Purple', token: 'primary' },
 *     ],
 *   },
 * });
 * ```
 */
export declare function defineConfig(config: RiverbankSiteConfig): RiverbankSiteConfig;
/**
 * Helper function to define content scaffolding configuration with type checking.
 *
 * This can be used to define content configuration in a separate file,
 * which is then imported into riverbank.config.ts.
 *
 * @example
 * ```typescript
 * // content.config.ts
 * import { defineContentConfig } from '@riverbankcms/sdk/config';
 *
 * export const contentConfig = defineContentConfig({
 *   contentTypes: [
 *     {
 *       key: 'testimonial',
 *       name: 'Testimonial',
 *       hasPages: false,
 *       fields: [
 *         { id: 'quote', type: 'richText', label: 'Quote', required: true },
 *       ],
 *     },
 *   ],
 *   pages: [
 *     { identifier: 'home', title: 'Home', path: '/' },
 *   ],
 * });
 *
 * // riverbank.config.ts
 * import { defineConfig } from '@riverbankcms/sdk/config';
 * import { contentConfig } from './content.config';
 *
 * export default defineConfig({
 *   siteId: '...',
 *   content: contentConfig,
 * });
 * ```
 */
export declare function defineContentConfig(config: ContentConfig): ContentConfig;
