import type { Table, View } from 'drizzle-orm'; import type { PgEnum } from 'drizzle-orm/pg-core'; import type { z } from 'zod/v4'; import type { BuildRefine, BuildSchema, NoUnknownKeys } from './schema.types.internal.js'; export interface CreateSelectSchema> | true | undefined> { (table: TTable): BuildSchema<'select', TTable['_']['columns'], undefined, TCoerce>; >(table: TTable, refine?: NoUnknownKeys): BuildSchema<'select', TTable['_']['columns'], TRefine, TCoerce>; (view: TView): BuildSchema<'select', TView['_']['selectedFields'], undefined, TCoerce>; >(view: TView, refine: NoUnknownKeys): BuildSchema<'select', TView['_']['selectedFields'], TRefine, TCoerce>; >(enum_: TEnum): z.ZodEnum<{ [K in TEnum['enumValues'][number]]: K; }>; } export interface CreateInsertSchema> | true | undefined> { (table: TTable): BuildSchema<'insert', TTable['_']['columns'], undefined, TCoerce>; , TCoerce>>(table: TTable, refine?: NoUnknownKeys): BuildSchema<'insert', TTable['_']['columns'], TRefine, TCoerce>; } export interface CreateUpdateSchema> | true | undefined> { (table: TTable): BuildSchema<'update', TTable['_']['columns'], undefined, TCoerce>; , TCoerce>>(table: TTable, refine?: TRefine): BuildSchema<'update', TTable['_']['columns'], TRefine, TCoerce>; } export interface CreateSchemaFactoryOptions> | true | undefined> { zodInstance?: any; coerce?: TCoerce; }