import type { InferModelFromColumns, InferSelectModel } from "drizzle-orm"; import type { PgTableWithColumns } from "drizzle-orm/pg-core"; export abstract class BaseInterface< // biome-ignore lint/suspicious/noExplicitAny: This is just an extended interface Table extends PgTableWithColumns, Columns = InferModelFromColumns, > { constructor(public data: Columns) {} public abstract save(): Promise; public abstract delete(ids: string[]): Promise; public abstract delete(): Promise; public abstract update( newData: Partial>, ): Promise; public abstract reload(): Promise; }