/**
 * Shared DMMF → Zod expression mapping for the Pro packs.
 *
 * Two packs emit Zod schemas from the same DMMF (server actions and policies),
 * and they drifted: one referenced Prisma enums without importing them, mapped
 * nullable columns to `.optional()` so a real row with a null failed to parse,
 * and mapped `Decimal` to `z.number()` so the value Prisma returns was rejected.
 * Keeping one mapping means fixing those once.
 */
import { DMMF } from '@prisma/generator-helper';
/**
 * Zod expression for a field's type, without optionality.
 *
 * Enum members are inlined as string literals rather than referencing the Prisma
 * enum, so the emitted module needs no import beyond zod and cannot fail with
 * "X is not defined".
 */
export declare function zodBaseForField(field: DMMF.Field, enums?: readonly DMMF.DatamodelEnum[]): string;
/**
 * Zod expression including nullability.
 *
 * A nullable column is `.nullable()`, not `.optional()`: Prisma returns `null`
 * for an unset value, and `.optional()` alone rejects it.
 */
export declare function zodExpressionForField(field: DMMF.Field, enums?: readonly DMMF.DatamodelEnum[]): string;
/** Columns the database supplies, which a caller must not send. */
export declare function isDatabaseGeneratedField(field: DMMF.Field): boolean;
/** Optional on create when the schema itself can supply a value. */
export declare function isOptionalOnCreate(field: DMMF.Field): boolean;
/**
 * Of `candidates`, the field names the model actually has.
 *
 * Zod 4 throws "Unrecognized key" when a mask names a key the object lacks, so
 * an omit list has to be filtered against the model rather than hardcoded.
 */
export declare function presentFieldNames(model: DMMF.Model, candidates: string[]): string[];
