import { basename, dirname } from 'node:path'; /** * Compile a single Ember page entry. Returns the absolute paths of the * server-side bundled output and the client-side raw module. * * Server side: full Bun.build pass that inlines the Glimmer runtime, * simple-dom, and the renderer. The output exports `renderToHTML(props)` * which the page handler calls. Bundling everything into one file * guarantees a single state-bearing module instance — no "two copies * of @glimmer/runtime" hazard. * * Client side: just the transpiled module (no bundle). The framework's * client bundle pass picks it up alongside other client entries and * externalizes the Ember runtime to the vendor URLs. */ export declare const compileEmberFile: (entry: string, compiledRoot: string, cwd?: string) => Promise<{ clientPath: string; serverPath: string; }>; /** * Batch-compile every entry in `entries`. Mirrors `compileSvelte`'s * shape so `core/build.ts` can call it the same way. */ export declare const compileEmber: (entries: string[], emberDir: string, cwd?: string, _hmr?: boolean) => Promise<{ clientPaths: string[]; serverPaths: string[]; }>; /** * Hot path used by the dev module server: compile a single entry into * a tmp dir and return the resulting JS source string. Phase 1 doesn't * implement caching here; phase 3 will. */ export declare const compileEmberFileSource: (entry: string) => Promise; /** * Match the `compileSvelte` API surface so the dev rebuilder can call * a stable name. Phase 1 returns the entry directory unchanged — caching * lives in `compileEmber` itself, not in a separate cache layer. */ export declare const clearEmberCompilerCache: () => void; export declare const getEmberCompiledRoot: (_emberDir?: string) => string; export declare const getEmberServerCompiledDir: (emberDir: string) => string; export declare const getEmberClientCompiledDir: (emberDir: string) => string; export { dirname, basename };