import type { ColumnType, Insertable, Selectable, Updateable } from "kysely"
import type { FormElementsId } from "./FormElements"
import type { PubTypesId } from "./PubTypes"

import { z } from "zod"

import { formElementsIdSchema } from "./FormElements"
import { pubTypesIdSchema } from "./PubTypes"

// @generated
// This file is automatically generated by Kanel. Do not modify manually.

/** Represents the table public._FormElementToPubType */
export interface FormElementToPubTypeTable {
	A: ColumnType<FormElementsId, FormElementsId, FormElementsId>

	B: ColumnType<PubTypesId, PubTypesId, PubTypesId>
}

export type FormElementToPubType = Selectable<FormElementToPubTypeTable>

export type NewFormElementToPubType = Insertable<FormElementToPubTypeTable>

export type FormElementToPubTypeUpdate = Updateable<FormElementToPubTypeTable>

export const formElementToPubTypeSchema = z.object({
	A: formElementsIdSchema,
	B: pubTypesIdSchema,
})

export const formElementToPubTypeInitializerSchema = z.object({
	A: formElementsIdSchema,
	B: pubTypesIdSchema,
})

export const formElementToPubTypeMutatorSchema = z.object({
	A: formElementsIdSchema.optional(),
	B: pubTypesIdSchema.optional(),
})
