import { ModuleContext } from '../types';
import type { BaseBuildConfig, BundleOptions, PartialBaseBuildConfig, PartialBuildConfig, PartialBaseBundlelessBuildConfig, PartialBaseBundleBuildConfig, DTSOptions, PartialBaseCommonBuildConfig } from '../types/config';
export declare const validPartialBuildConfig: (config: PartialBuildConfig) => void;
export declare const validBuildTypeAndFormat: (config: PartialBaseBuildConfig) => void;
export declare const mergeDefaultBaseConfig: (pConfig: PartialBaseBuildConfig, context: ModuleContext) => Promise<BaseBuildConfig>;
export declare const mergeBundleBaseConfig: (pConfig: PartialBaseBundleBuildConfig, context: ModuleContext) => Promise<{
  asset: {
    path: string;
    rebase: boolean | undefined;
    name: string | ((filePath: string) => string) | undefined;
    limit: number | undefined;
    publicPath: string | ((filePath: string) => string) | undefined;
  };
  buildType: "bundle";
  format: import("../types").BundleFormat;
  target: import("../types").Target;
  sourceMap: boolean | "inline" | "external";
  copy: import("../types/copy").CopyOptions;
  path: string;
  dts: false | DTSOptions;
  jsx: import("../types").JSX;
  bundleOptions: BundleOptions;
}>;
export declare const mergeBundlelessBaseConfig: (pConfig: PartialBaseBundlelessBuildConfig) => Promise<{
  asset: {
    path: string;
    rebase: boolean | undefined;
    name: string | ((filePath: string) => string) | undefined;
    limit: number | undefined;
    publicPath: string | ((filePath: string) => string) | undefined;
  };
  buildType: "bundleless";
  format: import("../types").BundlelessFormat;
  target: import("../types").Target;
  sourceMap: boolean | "inline" | "external";
  copy: import("../types/copy").CopyOptions;
  path: string;
  dts: false | DTSOptions;
  jsx: import("../types").JSX;
  bundlelessOptions: import("../types").BundlelessOptions;
}>;
export declare const getDtsConfig: (userDTS: PartialBaseCommonBuildConfig['dts'], defaultDTS: DTSOptions) => Promise<false | DTSOptions>;