import type { InlineConfig, PluginOption } from 'vite';
import type { Diagnostic } from '../diagnostic';
import type { CompilationResult } from '../compile';
import type { ResolvedCliOptions } from '../../utils/config/cli-options';
import type { WidgetBuildConfig } from '../build-watchers/widget-build-watcher';
/**
 * Builds all widgets using Vite when --optimize flag is set.
 * All widgets are built in a single Vite build invocation.
 *
 * @param cliOptions - Resolved CLI options
 * @param isDev - Whether this is a development build
 * @param widgetEntryPoints - Array of widget entry point paths (may be wrapped)
 * @param originalWidgets - Array of original widget relative paths (before wrapping)
 * @param config - Widget build configuration
 * @param relativeTsconfig - Relative path to tsconfig
 * @param typeCheckDiagnostics - Diagnostics from type checking
 * @returns Compilation result with diagnostics and timing
 */
export declare function handleViteWidgetBuildResults(cliOptions: ResolvedCliOptions, isDev: boolean, widgetEntryPoints: string[], originalWidgets: string[], config: WidgetBuildConfig, relativeTsconfig: string, typeCheckDiagnostics: Diagnostic[]): Promise<CompilationResult>;
/**
 * Options for creating a Vite widget configuration
 */
export interface CreateViteWidgetConfigOptions {
    cliOptions: ResolvedCliOptions;
    input: Record<string, string>;
    isDev: boolean;
    distDir: string;
    relativeTsconfig: string;
    onWarning?: (diagnostic: Diagnostic) => void;
    /** Override whether Vite writes output to disk. Defaults to `false`. */
    write?: boolean;
    /** Override the minify setting. Defaults to `false`. */
    minify?: boolean;
    /**
     * When provided, skips the `shouldApplySourcemaps` computation and uses
     * this value directly as the Vite `build.sourcemap` option.
     */
    sourcemapOverride?: boolean | 'inline' | 'hidden';
    /** Additional Vite plugins to append after the standard widget plugins. */
    extraPlugins?: PluginOption[];
}
/**
 * Creates a Vite inline configuration for building multiple widgets.
 * Can also be used for analysis builds by supplying the optional override fields.
 */
export declare function createViteWidgetConfig(options: CreateViteWidgetConfigOptions): InlineConfig;
