import { StormWorkspaceConfig } from '@storm-software/config/types';
import { UnbuildOptions, UnbuildResolvedOptions } from './types.cjs';
import '@storm-software/build-tools';
import 'esbuild';
import 'mkdist';
import 'unbuild';

/**
 * Get the build options for the unbuild process
 *
 * @param options - the unbuild options
 * @returns the resolved options
 */
declare function resolveOptions(options: UnbuildOptions, config: StormWorkspaceConfig): Promise<UnbuildResolvedOptions>;
declare function generatePackageJson(options: UnbuildResolvedOptions): Promise<UnbuildResolvedOptions>;
/**
 * Execute Unbuild with all the configurations we pass
 */
declare function executeUnbuild(options: UnbuildResolvedOptions): Promise<UnbuildResolvedOptions>;
/**
 * Copy the assets to the build directory
 */
declare function copyBuildAssets(options: UnbuildResolvedOptions): Promise<UnbuildResolvedOptions>;
/**
 * Clean the output path
 *
 * @param options - the build options
 */
declare function cleanOutputPath(options: UnbuildResolvedOptions): Promise<UnbuildResolvedOptions>;
/**
 * Execution pipeline that applies a set of actions
 *
 * @param options - the build options
 * @returns the build result
 */
declare function build(options: UnbuildOptions): Promise<void>;

export { build, cleanOutputPath, copyBuildAssets, executeUnbuild, generatePackageJson, resolveOptions };
