/** Possible Prisma operations */ export declare enum PrismaOperation { FindUnique = "findUnique", FindUniqueOrThrow = "findUniqueOrThrow", FindFirst = "findFirst", FindFirstOrThrow = "findFirstOrThrow", FindMany = "findMany", Create = "create", CreateMany = "createMany", Delete = "delete", Update = "update", DeleteMany = "deleteMany", UpdateMany = "updateMany", Upsert = "upsert", Aggregate = "aggregate", GroupBy = "groupBy", Count = "count" } /** Distinguishes hooks before and after query execution */ export declare enum PrismaEventOperation { Before = "before", After = "after" } /** Generates an event string for dispatching listeners */ export declare function generateEventString(modelName: Model, operation: Operation, eventOperation: PrismaEventOperation): string; export type PrismaEventPayload = { operation: O; args: Args; query: any; model: M; result?: Result; }; export type GlobalPrismaEventHandler = (payload: PrismaEventPayload) => void | Promise; declare class PrismaEventController { private listeners; private globalListeners; on(event: string, callback: Function): void; onGlobal(operation: PrismaOperation | '*', eventType: PrismaEventOperation, callback: Function): void; emit(event: string, payload: any): void; } export declare const prismaController: PrismaEventController; export declare function onBeforeHook(model: M, operation: O, handler: (payload: PrismaEventPayload) => void | Promise): void; export declare function onAfterHook(model: M, operation: O, handler: (payload: PrismaEventPayload) => void | Promise): void; export declare function onBeforeHookForAll(operation: PrismaOperation, handler: GlobalPrismaEventHandler): void; export declare function onBeforeHookForAll(operation: '*', handler: GlobalPrismaEventHandler): void; export declare function onAfterHookForAll(operation: PrismaOperation, handler: GlobalPrismaEventHandler): void; export declare function onAfterHookForAll(operation: '*', handler: GlobalPrismaEventHandler): void; export {}; //# sourceMappingURL=events.d.ts.map