export interface BundleOptions {
    entryPoint?: string;
    outDir?: string;
    sourcemap?: boolean;
    minify?: boolean;
    production?: boolean;
}
export interface BundleResult {
    js: string;
    css: string;
}
export declare const DEFAULT_BUILD_OPTIONS: {
    bundle: boolean;
    format: "iife";
    platform: "browser";
    target: string;
    jsx: "automatic";
    loader: {
        ".css": "css";
    };
    logLevel: "info";
    write: boolean;
};
/**
 * Detects which frontend frameworks are present in package.json
 */
export declare function detectFrameworks(appDir: string): {
    svelte: boolean;
    vue: boolean;
};
/**
 * Creates framework-specific esbuild plugins based on detected dependencies
 */
export declare function createFrameworkPlugins(appDir: string): Promise<any[]>;
/**
 * Ensures node_modules exists in the specified directory
 * Runs npm install if node_modules is missing
 * @param appDir Directory to check for node_modules (defaults to entry point directory)
 */
export declare function ensureNodeModules(appDir?: string): Promise<void>;
/**
 * Creates an esbuild bundle for the app
 * @param options Bundle configuration options
 * @returns Bundle result containing JS and CSS blobs
 */
export declare function createBundle(options?: BundleOptions): Promise<BundleResult>;
/**
 * Gets the esbuild build options for use in watch mode (dev server)
 * @param entryPoint Entry point file
 * @returns esbuild build options
 */
export declare function getDevBuildOptions(entryPoint?: string): {
    entryPoints: string[];
    outfile: string;
    sourcemap: boolean;
    define: {
        "process.env.NODE_ENV": string;
    };
    bundle: boolean;
    format: "iife";
    platform: "browser";
    target: string;
    jsx: "automatic";
    loader: {
        ".css": "css";
    };
    logLevel: "info";
    write: boolean;
};
//# sourceMappingURL=bundle.d.ts.map