import { type Observable } from 'rxjs'; import type { LogLevel, MikroEnv, MikroJSConfig, Minifier, MinifyLevel } from '../../_exports/index.js'; export type BuildEvent = { type: 'phase'; phase: string; } | { type: 'file'; path: string; size: number; } | { type: 'done'; }; export declare function trace(entries: string[]): Promise<{ fileList: string[]; warnings: Error[]; sourcePathMap: Map; }>; export declare function loadConfig(entry: string, env?: MikroEnv): Promise; export declare function build(entry: string, buildDir: string, options: { minify: boolean; bytecode: boolean; minifier?: Minifier; minifyLevel?: MinifyLevel; logLevel?: LogLevel; rootDir?: string; bundle?: boolean; /** Config environment to resolve from mikro.config.ts ('development' or * 'production'). Defaults to 'production'. */ env?: MikroEnv; }): Observable; /** * Build multiple test files into one unbundled deploy tree. Writes a * synthesized package.json carrying a `tests` array that the firmware * supervisor uses as its sole "test mode" signal. Each path runs in * its own fresh runtime through one transport session. * * Always unbundled (bundling would defeat per-file isolation and * inflates deploy size via duplicated shared deps). No `main` field: * the supervisor drives iteration from `tests`, and leaving `main` out * makes the intent obvious to anyone reading the deployed bundle. */ export declare function buildTests(entries: string[], buildDir: string, options: { minify: boolean; bytecode: boolean; minifier?: Minifier; minifyLevel?: MinifyLevel; logLevel?: LogLevel; rootDir: string; /** Config environment to resolve from mikro.config.ts. Tests always build * in 'development'. */ env?: MikroEnv; }): Observable; //# sourceMappingURL=build.d.ts.map