import type { ModelsWithReadWrite } from '../cache/dbs/index.generated.js'; import { CreateEventAfterCtx, CreateEventBeforeCtx, DeleteEventCtx, GetAllEventAfterCtx, GetAllEventBeforeCtx, GetOneEventAfterCtx, GetOneEventBeforeCtx, UpdateEventCtx } from './core.types.js'; type CreateBefore = { [K in keyof ModelsWithReadWrite as `${K}.create.before`]: [CreateEventBeforeCtx]; }; type CreateAfter = { [K in keyof ModelsWithReadWrite as `${K}.create.after`]: [CreateEventAfterCtx]; }; type UpdateEvent = { [K in keyof ModelsWithReadWrite as `${K}.update.${'before' | 'after'}`]: [UpdateEventCtx]; }; type GetOneBefore = { [K in keyof ModelsWithReadWrite as `${K}.getOne.before`]: [GetOneEventBeforeCtx]; }; type GetOneAfter = { [K in keyof ModelsWithReadWrite as `${K}.getOne.after`]: [GetOneEventAfterCtx]; }; type GetAllBefore = { [K in keyof ModelsWithReadWrite as `${K}.getAll.before`]: [GetAllEventBeforeCtx]; }; type GetAllAfter = { [K in keyof ModelsWithReadWrite as `${K}.getAll.after`]: [GetAllEventAfterCtx]; }; type DeleteEvent = { [K in keyof ModelsWithReadWrite as `${K}.delete.${'before' | 'after'}`]: [DeleteEventCtx]; }; declare global { interface GDeventNames extends CreateBefore, CreateAfter, UpdateEvent, GetOneBefore, GetOneAfter, GetAllBefore, GetAllAfter, DeleteEvent { } } export {};