/**
 * Schema and Default Value Registry
 * Maps field types to validation schemas and default value builders
 *
 * Server-safe - no React, no browser APIs
 * Can be used in API routes, server components, and validation
 */
import { buildTextFieldSchema } from '../widgets/TextField/textFieldSchema';
import { getTextFieldDefault } from '../widgets/TextField/textFieldDefaults';
import { buildNumberFieldSchema } from '../widgets/NumberField/numberFieldSchema';
import { getNumberFieldDefault } from '../widgets/NumberField/numberFieldDefaults';
import { buildSelectFieldSchema } from '../widgets/SelectField/selectFieldSchema';
import { getSelectFieldDefault } from '../widgets/SelectField/selectFieldDefaults';
import { buildBooleanFieldSchema } from '../widgets/BooleanField/booleanFieldSchema';
import { getBooleanFieldDefault } from '../widgets/BooleanField/booleanFieldDefaults';
import { buildGroupFieldSchema, type SchemaContext } from '../widgets/GroupField/groupFieldSchema';
import { getGroupFieldDefault, type DefaultValueContext } from '../widgets/GroupField/groupFieldDefaults';
import { buildModalFieldSchema } from '../widgets/ModalGroupField/modalFieldSchema';
import { getModalFieldDefault } from '../widgets/ModalGroupField/modalFieldDefaults';
import { buildRepeaterFieldSchema } from '../widgets/RepeaterField/repeaterFieldSchema';
import { getRepeaterFieldDefault } from '../widgets/RepeaterField/repeaterFieldDefaults';
import { buildUrlFieldSchema } from '../widgets/UrlField/urlFieldSchema';
import { getUrlFieldDefault } from '../widgets/UrlField/urlFieldDefaults';
import { buildTimeFieldSchema } from '../widgets/TimeField/timeFieldSchema';
import { getTimeFieldDefault } from '../widgets/TimeField/timeFieldDefaults';
import { buildDateFieldSchema } from '../widgets/DateField/dateFieldSchema';
import { getDateFieldDefault } from '../widgets/DateField/dateFieldDefaults';
import { buildDateTimeFieldSchema } from '../widgets/DateTimeField/dateTimeFieldSchema';
import { getDateTimeFieldDefault } from '../widgets/DateTimeField/dateTimeFieldDefaults';
import { buildSlugFieldSchema } from '../widgets/SlugField/slugFieldSchema';
import { getSlugFieldDefault } from '../widgets/SlugField/slugFieldDefaults';
import { buildLinkFieldSchema } from '../widgets/LinkField/linkFieldSchema';
import { getLinkFieldDefault } from '../widgets/LinkField/linkFieldDefaults';
import { buildRichTextFieldSchema } from '../widgets/RichTextField/richTextFieldSchema';
import { getRichTextFieldDefaultValue } from '../widgets/RichTextField/richTextFieldDefaults';
import { buildMediaFieldSchema } from '../widgets/MediaField/mediaFieldSchema';
import { getMediaFieldDefaultValue } from '../widgets/MediaField/mediaFieldDefaults';
import { buildTabGroupFieldSchema, getTabGroupFieldDefault } from '../widgets/TabGroupField/tabGroupFieldSchema';
import { buildPresetOrCustomFieldSchema } from '../widgets/PresetOrCustomField/presetOrCustomFieldSchema';
import { getPresetOrCustomFieldDefault } from '../widgets/PresetOrCustomField/presetOrCustomFieldDefaults';
import { buildReferenceFieldSchema } from '../widgets/ReferenceField/referenceFieldSchema';
import { getReferenceFieldDefault } from '../widgets/ReferenceField/referenceFieldDefaults';
import { buildContentTypeSelectFieldSchema } from '../widgets/ContentTypeSelectField/contentTypeSelectFieldSchema';
import { getContentTypeSelectFieldDefault } from '../widgets/ContentTypeSelectField/contentTypeSelectFieldDefaults';
import { buildEntryPickerFieldSchema } from '../widgets/EntryPickerField/entryPickerFieldSchema';
import { getEntryPickerFieldDefault } from '../widgets/EntryPickerField/entryPickerFieldDefaults';
import type { FieldConfig } from '../fields/types';
import type { ZodTypeAny } from 'zod';
export type { SchemaContext, DefaultValueContext };
export declare const SCHEMA_BUILDERS: {
    readonly text: typeof buildTextFieldSchema;
    readonly number: typeof buildNumberFieldSchema;
    readonly select: typeof buildSelectFieldSchema;
    readonly boolean: typeof buildBooleanFieldSchema;
    readonly group: typeof buildGroupFieldSchema;
    readonly modal: typeof buildModalFieldSchema;
    readonly repeater: typeof buildRepeaterFieldSchema;
    readonly url: typeof buildUrlFieldSchema;
    readonly time: typeof buildTimeFieldSchema;
    readonly date: typeof buildDateFieldSchema;
    readonly datetime: typeof buildDateTimeFieldSchema;
    readonly slug: typeof buildSlugFieldSchema;
    readonly link: typeof buildLinkFieldSchema;
    readonly richText: typeof buildRichTextFieldSchema;
    readonly media: typeof buildMediaFieldSchema;
    readonly file: typeof buildMediaFieldSchema;
    readonly tabGroup: typeof buildTabGroupFieldSchema;
    readonly presetOrCustom: typeof buildPresetOrCustomFieldSchema;
    readonly reference: typeof buildReferenceFieldSchema;
    readonly contentTypeSelect: typeof buildContentTypeSelectFieldSchema;
    readonly entryPicker: typeof buildEntryPickerFieldSchema;
};
export declare const DEFAULT_VALUE_BUILDERS: {
    readonly text: typeof getTextFieldDefault;
    readonly number: typeof getNumberFieldDefault;
    readonly select: typeof getSelectFieldDefault;
    readonly boolean: typeof getBooleanFieldDefault;
    readonly group: typeof getGroupFieldDefault;
    readonly modal: typeof getModalFieldDefault;
    readonly repeater: typeof getRepeaterFieldDefault;
    readonly url: typeof getUrlFieldDefault;
    readonly time: typeof getTimeFieldDefault;
    readonly date: typeof getDateFieldDefault;
    readonly datetime: typeof getDateTimeFieldDefault;
    readonly slug: typeof getSlugFieldDefault;
    readonly link: typeof getLinkFieldDefault;
    readonly richText: typeof getRichTextFieldDefaultValue;
    readonly media: typeof getMediaFieldDefaultValue;
    readonly file: typeof getMediaFieldDefaultValue;
    readonly tabGroup: typeof getTabGroupFieldDefault;
    readonly presetOrCustom: typeof getPresetOrCustomFieldDefault;
    readonly reference: typeof getReferenceFieldDefault;
    readonly contentTypeSelect: typeof getContentTypeSelectFieldDefault;
    readonly entryPicker: typeof getEntryPickerFieldDefault;
};
export type SchemaBuilderType = keyof typeof SCHEMA_BUILDERS;
export type DefaultValueBuilderType = keyof typeof DEFAULT_VALUE_BUILDERS;
/**
 * Helper to build a validation schema for a single field
 * Recursively handles nested fields (group, repeater)
 */
export declare function buildFieldSchema(field: FieldConfig, ctx: SchemaContext): ZodTypeAny;
/**
 * Helper to get default value for a single field
 * Recursively handles nested fields (group, repeater)
 */
export declare function getFieldDefault(field: FieldConfig, ctx: DefaultValueContext): unknown;
