export interface Entity { construct: (data: T) => T; create: (data: T) => Promise; createMany: (data: T[]) => Promise; findAll: () => Promise; findById: (id: ID) => Promise; update: (id: ID, data: Partial) => Promise; delete: (id: ID) => Promise; }