import React from 'react';
import type { FieldConfig } from '../fields/types';
/**
 * Context passed to a field preview resolver, providing access to sibling field values.
 */
export type FieldPreviewResolverCallContext = {
    getSiblingValue: (fieldId: string) => unknown;
};
/**
 * Resolve a stored field value to a preview value consumable by UI widgets.
 *
 * For repeater thumbnails, resolvers can return media-like objects
 * (e.g. `{ type: 'image', src: '...' }`) for field types that do not store media directly.
 */
export type FieldPreviewResolver = (value: unknown, fieldConfig: FieldConfig, context: FieldPreviewResolverCallContext) => Promise<unknown | null>;
/**
 * Map of field type to preview resolver.
 */
export type FieldPreviewResolverMap = Partial<Record<FieldConfig['type'], FieldPreviewResolver>>;
/**
 * Provides field preview resolvers to descendant components.
 */
export declare function FieldPreviewResolverProvider({ resolvers, children, }: {
    resolvers: FieldPreviewResolverMap;
    children: React.ReactNode;
}): import("react/jsx-runtime").JSX.Element;
/**
 * Access the field preview resolver map.
 */
export declare function useFieldPreviewResolvers(): FieldPreviewResolverMap;
