import type { UserConfig, BuildEnvironmentOptions } from "vite";
import type { ResolvedUserOptions, AutoDiscoveredFiles } from "../types.js";
/**
 * KEY DIFFERENCES FROM resolveUserConfig:
 *
 * 1. Uses BuildEnvironmentOptions type instead of UserConfig
 * 2. Returns environment-specific configuration for Vite's Environment API
 * 3. Must set preserveModules: true for preserveModulesRoot to work
 * 4. Simplified input normalization (no moduleBase stripping in inputs)
 * 5. Environment-specific output directories and settings
 * 6. Uses Vite's natural module resolution and hashing
 *
 * FUTURE ENHANCEMENTS:
 * - Could support callback functions for entryFileNames, chunkFileNames, and assetFileNames
 * - This would allow custom hash generation based on file content as discussed in
 *   https://github.com/rollup/rollup/issues/5362
 * - Would enable better cache busting and custom file naming strategies
 */
export type ResolveEnvironmentConfigProps = {
    condition: "react-client" | "react-server";
    config: UserConfig;
    userOptions: ResolvedUserOptions;
    autoDiscoveredFiles: AutoDiscoveredFiles;
    ssr?: boolean;
    forceResolve?: boolean;
};
export type ResolveEnvironmentConfigReturn = {
    type: "success";
    environmentConfig: BuildEnvironmentOptions;
} | {
    type: "error";
    error: unknown;
};
export type ResolveEnvironmentConfigFn = (props: ResolveEnvironmentConfigProps) => ResolveEnvironmentConfigReturn;
/**
 * Resolve environment-specific configuration for the Environment API.
 * This is a sophisticated version that follows the same patterns as resolveUserConfig
 * but adapted for Vite's Environment API requirements.
 */
export declare const resolveEnvironmentConfig: ResolveEnvironmentConfigFn;
//# sourceMappingURL=resolveEnvironmentConfig.d.ts.map