export type PrismaClient = Record< string, { count: (options: { select: Record; where?: object; }) => Promise>; upsert: (options: { where: object; update: Record; create: Record; }) => Promise; create: (options: { data: Record; }) => Promise>; createMany: (options: { data: Record[] }) => Promise; delete: (options: { where: object }) => Promise>; deleteMany: (options: { where?: object }) => Promise; findFirst: (options: { where: object; select?: Record; orderBy?: OrderBy | OrderBy[]; skip?: number; }) => Promise | null>; findMany: (options: { where?: object; select?: Record; orderBy?: OrderBy | OrderBy[]; skip?: number; take?: number; }) => Promise[]>; updateMany: (options: { where?: object; data: Record; }) => Promise; } > & { $transaction: (v: (tx: PrismaClient) => T | Promise) => Promise; }; export type OrderBy = { [k: string]: "asc" | "desc" | OrderBy; };