import { CollectionUtils } from '@firtoz/db-helpers'; import { Collection, InferSchemaOutput, InferSchemaInput } from '@tanstack/db'; import { SelectSchema, IdOf, InsertToSelectSchema } from './collection-utils.js'; import { TableWithRequiredFields } from './syncableTable.js'; import 'drizzle-orm'; import 'drizzle-valibot'; import 'valibot'; import 'drizzle-orm/sqlite-core'; /** * TanStack {@link Collection} for a syncable Drizzle SQLite table (`syncableTable` columns). * * Shared by `@firtoz/drizzle-sqlite-wasm` (async driver) and `@firtoz/drizzle-durable-sqlite` * (Durable Object sync driver). Import this type from `@firtoz/drizzle-utils` rather than * duplicating it per package. */ type DrizzleSqliteTableCollection = Collection>, IdOf, CollectionUtils>>, InsertToSelectSchema, InferSchemaInput>>; export type { DrizzleSqliteTableCollection };