/** * The handlers the platform writes from a declaration (#1773). * * `defineOperations` decides WHAT is derivable and records a plan for each `derive` declaration — * the table, its columns, the permission, the event (`DerivationPlan`, contracts). This turns a * plan into the handler. It takes the same steps a hand-written one does, through the same `ctx` * a module has: the declared check first, then `ctx.sql` over the entity's declared columns * (named, never `*`), `not_found` for a missing row, and one fat event per write. * * Nothing here decides a shape. A handler written from a plan cannot read a column, check a key or * emit an event the declaration did not name, because the plan holds nothing else. */ import { type DerivationPlan } from '@substrat-run/contracts'; import type { OperationHandler } from './scope-host.js'; /** `"col"` — a declared column is an identifier, quoted so a keyword-named one still reads as a column. */ export declare const quoted: (identifier: string) => string; /** The handler a plan describes. */ export declare function derivedHandler(plan: DerivationPlan): OperationHandler; //# sourceMappingURL=derived-handlers.d.ts.map