import { type ReactNode } from 'react';
import type { BlockManifest } from '@riverbankcms/blocks';
import { type FieldWidgetComponent } from '@riverbankcms/block-form/client';
import type { ManifestFormSource } from '@riverbankcms/block-form/client';
export type { AutosaveHandle } from '../hooks/useSimpleAutosave';
export type ContentFieldsFormProps<TValues extends Record<string, unknown>> = {
    siteId: string;
    manifest?: BlockManifest;
    form?: ManifestFormSource;
    /**
     * Initial values for the form (used for validation schema construction).
     * Note: Content hydration is now handled by the provider via initialContent prop.
     */
    initialValues?: TValues;
    paletteTokens?: Record<string, string>;
    widgets?: Partial<Record<string, FieldWidgetComponent>>;
    mediaProvider?: (props: {
        siteId: string;
        children: ReactNode;
    }) => ReactNode;
    errorComponent?: (props: {
        error: string;
    }) => ReactNode;
};
export declare function ContentFieldsForm<TValues extends Record<string, unknown>>({ siteId, manifest, form: formSpec, initialValues: _initialValues, paletteTokens, widgets, mediaProvider: MediaProvider, errorComponent: ErrorComponent, }: ContentFieldsFormProps<TValues>): import("react/jsx-runtime").JSX.Element;
