import type { Diagnostic } from '../diagnostic';
import type { CompilationResult } from '../compile';
import type { ResolvedCliOptions, UiFilePaths } from '../../utils/config/cli-options';
import type { ViteBuildResult } from './definitions';
/**
 * Builds the UI using Vite and handles the results.
 * This is the main entry point for Vite-based UI builds.
 *
 * @param cliOptions - Resolved CLI options
 * @param isDev - Whether this is a development build
 * @param uiFilePaths - Paths for UI source files
 * @param normalizedBaseHref - Normalized base URL with trailing slash
 * @param typeCheckDiagnostics - Diagnostics from type checking
 * @returns Compilation result with diagnostics and timing
 */
export declare function handleViteBuildResults(cliOptions: ResolvedCliOptions, isDev: boolean, uiFilePaths: UiFilePaths, normalizedBaseHref: string, typeCheckDiagnostics: Diagnostic[]): Promise<CompilationResult>;
/**
 * Resolves the entry JS and CSS bundle filenames from the Rolldown build output.
 * With hashed filenames, we cannot derive these from the entry point path —
 * we must read them from the actual build output.
 */
export declare function resolveUiEntryAssets(result: ViteBuildResult): {
    mainJsBundle: string;
    cssBundles: string[];
};
/**
 * Extracts the module IDs from the Vite Rolldown output.
 * These IDs represent all the source files that were bundled.
 *
 * @param uiResult - The Rolldown output from Vite build
 * @returns An array of module IDs (file paths)
 */
export declare function extractViteModuleIds(uiResult: ViteBuildResult): string[];
