export * from './compiler/index.js';
export * from './config/index.js';
export * from './server/index.js';
export * from './plugin/type.js';
export * from './utils/index.js';
export type { ModuleType, ResolveKind, PluginLoadHookParam, PluginLoadHookResult, PluginResolveHookParam, PluginResolveHookResult, OutputConfig, ResolveConfig, RuntimeConfig, ScriptConfig, CssConfig, PersistentCacheConfig, PartialBundlingConfig, PresetEnvConfig, Config, PluginTransformHookParam, PluginTransformHookResult } from './types/binding.js';
import { Compiler } from './compiler/index.js';
import { loadEnv } from './config/env.js';
import { UserConfig } from './config/index.js';
import { Server } from './server/index.js';
import { Logger } from './utils/logger.js';
import { FileWatcher } from './watcher/index.js';
import type { FarmCLIOptions, ResolvedUserConfig } from './config/types.js';
export declare function start(inlineConfig?: FarmCLIOptions & UserConfig): Promise<void>;
export declare function build(inlineConfig?: FarmCLIOptions & UserConfig): Promise<void>;
export declare function preview(inlineConfig?: FarmCLIOptions): Promise<void>;
export declare function watch(inlineConfig?: FarmCLIOptions & UserConfig): Promise<void>;
export declare function clean(rootPath: string, recursive?: boolean | undefined): Promise<void>;
export declare function createBundleHandler(resolvedUserConfig: ResolvedUserConfig, logger: Logger, watchMode?: boolean): Promise<FileWatcher>;
export declare function createCompiler(resolvedUserConfig: ResolvedUserConfig, logger: Logger): Promise<Compiler>;
export declare function createDevServer(compiler: Compiler, resolvedUserConfig: ResolvedUserConfig, logger: Logger): Promise<Server>;
export declare function createFileWatcher(devServer: Server, resolvedUserConfig: ResolvedUserConfig, logger?: Logger): Promise<FileWatcher>;
export declare function logFileChanges(files: string[], root: string, logger: Logger): void;
export { defineFarmConfig as defineConfig } from './config/index.js';
export { loadEnv };
