import type { MetaObject } from "@metaobjectsdev/metadata"; import { type RenderContext } from "../render-context.js"; /** * Render-time options for the entity-file composer. * * `allowlists` (default `true`) controls whether the Fastify-flavored * `FilterAllowlist` + `SortAllowlist` blocks (plus their * `runtime-ts/drizzle-fastify` type-only imports) are emitted. Workers/Lambda * consumers that don't mount Fastify-style server routes can pass `false` and * drop `@metaobjectsdev/runtime-ts` from their deps entirely. The client-side * `Filter` type is always emitted — consumers still want it for typed * client calls regardless of how the server is wired. * * Whether the file emits ANY server runtime binding at all (Drizzle table/view, * the allowlists) is governed by the TARGET, not this option: `ctx.selfTarget.runtime`. * A contract-only target (`runtime: false`) renders every object as its plain * shape (interface + Zod) and every projection as its read schema — no * `drizzle-orm`, no `runtime-ts`. `allowlists` is a finer Fastify-vs-Hono opt-out * that only matters within a runtime target. */ export interface RenderEntityFileOpts { readonly allowlists?: boolean; } export declare function renderEntityFile(entity: MetaObject, ctx: RenderContext, opts?: RenderEntityFileOpts): string; //# sourceMappingURL=entity-file.d.ts.map