import { build } from '../src/core/build';
import { devBuild } from '../src/core/devBuild';
import type { ImageConfig } from './image';
import type { SitemapConfig } from './sitemap';
export type BuildOptions = {
    /** When true, build() throws on error instead of exit(1) - used by HMR rebuilds */
    throwOnError?: boolean;
    /** When true, HMR client code is injected into built assets. Set by devBuild(). */
    injectHMR?: boolean;
    hmr?: {
        debounceMs?: number;
    };
    /** Base manifest to merge into for incremental builds */
    baseManifest?: Record<string, string>;
};
export type StylesConfig = {
    path: string;
    ignore?: string[];
};
export type StaticConfig = {
    /** Routes to pre-render at build time. Use "all" to crawl from / and discover all linked pages. */
    routes: string[] | 'all';
    /** Revalidation interval in seconds. When set, stale pages are re-rendered in the background (ISR). */
    revalidate?: number;
};
export type BuildConfig = {
    buildDirectory?: string;
    assetsDirectory?: string;
    publicDirectory?: string;
    islands?: {
        registry: string;
        bootstrap?: string;
    };
    reactDirectory?: string;
    vueDirectory?: string;
    angularDirectory?: string;
    astroDirectory?: string;
    svelteDirectory?: string;
    htmlDirectory?: string;
    htmxDirectory?: string;
    stylesConfig?: string | StylesConfig;
    tailwind?: {
        input: string;
        output: string;
    };
    options?: BuildOptions;
    incrementalFiles?: string[];
    mode?: 'production' | 'development';
    dev?: {
        https?: boolean;
    };
    static?: StaticConfig;
    images?: ImageConfig;
    sitemap?: SitemapConfig;
};
export type BuildResult = ReturnType<typeof build>;
export type DevBuildResult = ReturnType<typeof devBuild>;
export type Result = BuildResult | DevBuildResult;
export type Prettify<T> = {
    [K in keyof T]: T[K];
} & {};
