/**
 * Forms domain contracts.
 *
 * These types are the single source of truth shared across the data layer,
 * the REST API, the admin UI service client, and the public form renderer.
 * They intentionally mirror the persisted shapes (Prisma `FormSubmission`,
 * `FormSchemaVersion`, `FormSubmissionFile`, `FormWebhook`) plus the form
 * definition that lives as a typed `forms` document.
 *
 * Storage split:
 *   - Form *definitions* live in `actuate_documents` (collection `forms`); the
 *     `FormDefinition` shape below is the parsed view of `document.data`.
 *   - Field *schema* is versioned in `actuate_form_schema_versions`.
 *   - *Submissions* live in `actuate_form_submissions` and reference the schema
 *     version they were captured against (`schemaVersionId`).
 */
/** Field types that capture user input (excludes display-only/system fields). */
export const INPUT_FIELD_TYPES = [
    'text',
    'email',
    'phone',
    'textarea',
    'select',
    'multiselect',
    'radio',
    'checkbox',
    'date',
    'number',
    'url',
    'hidden',
    'file',
    'consent',
];
/** Field types that never produce a stored value. */
export const NON_INPUT_FIELD_TYPES = ['richtext', 'divider', 'honeypot'];
//# sourceMappingURL=types.js.map