import { DMMF } from '@prisma/generator-helper'; import { CreateArgs, CreateManyArgs, FindArgs, GroupByArgs, UpsertArgs } from './types'; import { DeleteArgs, UpdateArgs } from './operations'; import { Data, Delegates, Properties } from './prismock'; export type Item = Record; export type Delegate = { create: (args: CreateArgs) => Promise; createMany: (args: CreateManyArgs) => Promise<{ count: number; }>; delete: (args: DeleteArgs) => Promise; deleteMany: (args: DeleteArgs) => Promise<{ count: number; }>; update: (args: UpdateArgs) => Promise; updateMany: (args: UpdateArgs) => Promise<{ count: number; }>; upsert: (args: UpsertArgs) => Promise; findMany: (args?: FindArgs) => Promise; findUnique: (args: FindArgs) => Promise; findFirst: (args: FindArgs) => Promise; findUniqueOrThrow: (args: FindArgs) => Promise; findFirstOrThrow: (args: FindArgs) => Promise; groupBy: (args: GroupByArgs) => Promise; count: (args: FindArgs) => Promise; model: DMMF.Model; getProperties: () => DelegateProperties; getItems: () => Item[]; onChange: (items: Item[]) => void; }; export type DelegateProperties = { increment: Record; }; export type DelegateContext = { models: DMMF.Model[]; model: DMMF.Model; name: string; data: Data; properties: Record; }; export declare function generateDelegate(model: DMMF.Model, data: Data, name: string, properties: Properties, delegates: Delegates, onChange: (items: Item[]) => void): Delegate;