import type { z } from "zod"; import type { createItemSchema, updateItemSchema, createCategorySchema, updateCategorySchema, createThreadSchema, updateThreadSchema, createCandidateSchema, updateCandidateSchema, resolveThreadSchema, createSetupSchema, updateSetupSchema, syncSetupItemsSchema, } from "./schemas.ts"; import type { items, categories, threads, threadCandidates, setups, setupItems } from "../db/schema.ts"; // Types inferred from Zod schemas export type CreateItem = z.infer; export type UpdateItem = z.infer; export type CreateCategory = z.infer; export type UpdateCategory = z.infer; export type CreateThread = z.infer; export type UpdateThread = z.infer; export type CreateCandidate = z.infer; export type UpdateCandidate = z.infer; export type ResolveThread = z.infer; // Setup types export type CreateSetup = z.infer; export type UpdateSetup = z.infer; export type SyncSetupItems = z.infer; // Types inferred from Drizzle schema export type Item = typeof items.$inferSelect; export type Category = typeof categories.$inferSelect; export type Thread = typeof threads.$inferSelect; export type ThreadCandidate = typeof threadCandidates.$inferSelect; export type Setup = typeof setups.$inferSelect; export type SetupItem = typeof setupItems.$inferSelect;