import type { z } from 'zod/v4'; import type { FieldDescriptor, FieldFlags, DefinedTable } from './types.js'; import type { Branded, InferFieldOutput } from './brand.js'; export interface FieldModifiers { nullable(): FieldDescriptor & FieldModifiers; default(value: unknown): FieldDescriptor & FieldModifiers; primaryKey(): FieldDescriptor & FieldModifiers; defaultRandom(): FieldDescriptor & FieldModifiers; unique(): FieldDescriptor & FieldModifiers; readOnly(): FieldDescriptor & FieldModifiers; tenant(): FieldDescriptor & FieldModifiers; traceSafe(): FieldDescriptor & FieldModifiers; brand(name: B): FieldDescriptor, TFlags> & FieldModifiers, TFlags>; references(definition: TDef, field: TField, options?: { enforced?: boolean; }): FieldDescriptor, TFlags> & FieldModifiers, TFlags>; /** * Thunk form — defers resolution past an import cycle. Brand is NOT * inferred from the referenced field (the cycle prevents it); the caller * must `.brand()` the field explicitly. Existing TOutput is preserved. */ references(definition: () => DefinedTable, field: string, options?: { enforced?: boolean; }): FieldDescriptor & FieldModifiers; min(value: number): FieldDescriptor & FieldModifiers; max(value: number): FieldDescriptor & FieldModifiers; email(): FieldDescriptor & FieldModifiers; url(): FieldDescriptor & FieldModifiers; regex(pattern: RegExp): FieldDescriptor & FieldModifiers; precision(p: number, s: number): FieldDescriptor & FieldModifiers; serializedAs(format: 'string'): FieldDescriptor & FieldModifiers; } export declare const field: { uuid(): FieldDescriptor & FieldModifiers; text(): FieldDescriptor & FieldModifiers; integer(): FieldDescriptor & FieldModifiers; serial(): FieldDescriptor & FieldModifiers; bigint(): FieldDescriptor & FieldModifiers; boolean(): FieldDescriptor & FieldModifiers; timestamp(): FieldDescriptor & FieldModifiers; date(): FieldDescriptor & FieldModifiers; enum(values: V): FieldDescriptor & FieldModifiers; jsonb(shape: S): FieldDescriptor, {}> & FieldModifiers, {}>; decimal(): FieldDescriptor & FieldModifiers; money(p?: number, s?: number): FieldDescriptor & FieldModifiers; /** PostgreSQL `pg_lsn` column — a WAL log sequence number (`'0/16B3748'`). `.default('currentWal')` emits `DEFAULT pg_current_wal_lsn()`. */ pgLsn(): FieldDescriptor & FieldModifiers; custom(column: unknown, validator: S): FieldDescriptor, {}> & FieldModifiers, {}>; }; //# sourceMappingURL=field.d.ts.map