import type { Kysely } from 'kysely'; import type { HookChain, HookDocument } from './types.js'; import type { SchemaRegistry } from '../schema/registry.js'; import type { RequestContext } from '../auth/types.js'; import type { EventBus } from '../events/bus.js'; import type { ServiceRegistry } from '../services/registry.js'; export type HookOperation = 'create' | 'update' | 'delete' | 'submit' | 'cancel'; export interface ExecutePipelineOptions { model: string; operation: HookOperation; chain: HookChain; doc: HookDocument; db: Kysely; schema: SchemaRegistry; auth: RequestContext; eventBus?: EventBus; serviceRegistry?: ServiceRegistry; config?: Record; execute: (doc: HookDocument, trx: Kysely) => Promise; } /** * Run the full hook pipeline for a mutation operation. * Transaction covers: validate -> beforeSave -> before{Op} -> execute -> after{Op} * afterSave runs AFTER the transaction commits (cannot roll back the write). */ export declare function executeHookPipeline(opts: ExecutePipelineOptions): Promise; //# sourceMappingURL=executor.d.ts.map