/**
 * FormRenderer - Generic form rendering component
 *
 * Completely manifest-agnostic. Renders any FieldConfig[] with any FormBackend.
 * Provides renderChild recursively for container widgets (GroupField, RepeaterField).
 */
import type { ReactNode } from 'react';
import type { FieldConfig } from './fields/types';
import type { FormBackend } from './backend/types';
import type { FieldWidgetComponent } from './fields/props';
export interface FormRendererProps {
    /** Field configurations to render */
    fields: FieldConfig[];
    /** Form backend (RHF or Store) */
    backend: FormBackend;
    /** Optional className for container */
    className?: string;
    /** Optional wrapper component for each field */
    fieldWrapper?: (children: ReactNode, field: FieldConfig) => ReactNode;
    /** Optional widget overrides - allows replacing widgets at runtime */
    widgetOverrides?: Partial<Record<string, FieldWidgetComponent>>;
    /** Optional block kind for SDK field options lookup (e.g., 'block.embed', 'custom.hero') */
    blockKind?: string;
    /** Show inline settings trigger for non-content intents (default: true) */
    showSettingsTrigger?: boolean;
    /**
     * Optional list of nested field paths to surface in the main form body as shortcuts.
     * These paths should refer to existing data within the form values (no duplication).
     */
    promotedFields?: string[];
}
/**
 * FormRenderer - Renders a list of fields using the widget registry
 *
 * Works with any field source (manifests, custom configs, etc.)
 * Works with any backend (RHF, Zustand store, etc.)
 */
export declare function FormRenderer({ fields, backend, className, fieldWrapper, widgetOverrides, blockKind, showSettingsTrigger, promotedFields, }: FormRendererProps): ReactNode;
