import { type ManifestAssets } from './manifest';
/**
 * Build the stx application for production.
 *
 * Produces a `.output/` directory with:
 * - `public/__stx/` — fingerprinted runtime and router JS
 * - `public/assets/` — bundled CSS
 * - `public/<user files>` — copied verbatim from the project's `publicDir`
 *   (default: `public/`). Source images, fonts, robots.txt, sitemap.xml, etc.
 * - `server/pages/` — compiled template JSON files
 * - `server/fragments/` — SPA navigation fragments
 * - `manifest.json` — route map and asset hashes
 *
 * Reads `stx.config.ts` once at the start for `publicDir`, `componentsDir`,
 * `layoutsDir`, `partialsDir`, and `app.head`. Direct option overrides take
 * precedence over the config file.
 */
export declare function buildForProduction(options?: ProductionBuildOptions): Promise<ProductionBuildResult>;
/**
 * Production build configuration.
 *
 * Most fields are optional and fall back to `stx.config.ts` if not provided.
 * Resolution order for each field: explicit option → config file → default.
 */
export declare interface ProductionBuildOptions {
  root?: string
  outputDir?: string
  debug?: boolean
  componentsDir?: string
  partialsDir?: string
  layoutsDir?: string
  publicDir?: string
}
/**
 * Result of a production build.
 */
export declare interface ProductionBuildResult {
  pageCount: number
  assets: ManifestAssets
  outputDir: string
  duration: number
}
