import type { BlockManifest } from '../../../blocks/src/index';
import type { SdkBlockFieldOptionsMap, SdkBlockFieldExtensionsMap } from '../sdk-config/SdkConfigContext';
/**
 * Merges SDK-provided field options AND field extensions into a block manifest.
 *
 * This creates a single source of truth for validation and rendering:
 * 1. Field options: Replaces select options for fields with `ui.widget: 'sdkSelect'`
 * 2. Field extensions: Appends additional fields to the end of the manifest
 *
 * Without this merge, the Zod validation schema is built from manifest's
 * hardcoded options, but SdkSelectField renders SDK options - causing
 * validation errors when users select SDK-provided values.
 *
 * @example
 * // Field options: Embed block manifest has options [list, grid, carousel]
 * // SDK config provides options [showcase, list]
 * // After merge, manifest.fields[layoutField].options = [showcase, list]
 *
 * @example
 * // Field extensions: Body text block has [body] field
 * // SDK config extends with [layout] field
 * // After merge, manifest.fields = [body, layout]
 */
export declare function mergeManifestWithSdkOptions(manifest: BlockManifest, blockKind: string, sdkBlockFieldOptions?: SdkBlockFieldOptionsMap | null, sdkBlockFieldExtensions?: SdkBlockFieldExtensionsMap | null): BlockManifest;
