import { DeclApp } from "../ir/decl/backend.raw.schema.js"; type EntityBuilder = { create(opName?: string): void; get(opName?: string): void; list(opName?: string): void; update(opName?: string): void; remove(opName?: string): void; model(fields: Record): void; plural(p: string): void; op(kind: "create" | "get" | "list" | "update" | "remove", options?: { name?: string; enabled?: boolean; }): void; }; type AppBuilder = { entity(name: string, fn: (e: EntityBuilder) => void): void; meta(key: string, value: unknown): void; policy(target: string, value: Record): void; }; type AppOptions = { meta?: Record; policies?: Record; }; export declare function app(name: string, fn: (a: AppBuilder) => void): void; export declare function app(name: string, opts: AppOptions, fn: (a: AppBuilder) => void): void; /** * Load DSL file (TS/JS) by dynamic import. * - Untuk proyek ini: jalankan CLI via `tsx` (default). * - Jika ingin `node dist/cli.js`, file DSL tetap bisa TS karena tsconfig include, tapi runtime Node butuh JS/ESM. */ export declare function loadDsl(entry: string): Promise; export {};