import { Plugin } from '@gluons/vue-pack';
import { TapFunction } from './tapSplitChunks';
export { TapFunction };
/**
 * `SplitChunksPlugin`'s options.
 *
 * @export
 * @interface SplitChunksPluginOptions
 */
export interface SplitChunksPluginOptions {
    /**
     * A function to tap `splitChunks` in all configs
     *
     * @type {TapFunction}
     * @memberof SplitChunksPluginOptions
     */
    tapAll?: TapFunction;
    /**
     * A function to tap `splitChunks` in CommonJS config
     *
     * @type {TapFunction}
     * @memberof SplitChunksPluginOptions
     */
    tapCJS?: TapFunction;
    /**
     * A function to tap `splitChunks` in ES module config
     *
     * @type {TapFunction}
     * @memberof SplitChunksPluginOptions
     */
    tapESM?: TapFunction;
    /**
     * A function to tap `splitChunks` in SSR config
     *
     * @type {TapFunction}
     * @memberof SplitChunksPluginOptions
     */
    tapSSR?: TapFunction;
    /**
     * A function to tap `splitChunks` in web config.
     *
     * @type {TapFunction}
     * @memberof SplitChunksPluginOptions
     */
    tapWeb?: TapFunction;
}
/**
 * webpack's `splitChunks` customization plugin.
 *
 * @export
 * @param {SplitChunksPluginOptions} [options]
 * @returns {Plugin}
 */
export default function SplitChunksPlugin(options?: SplitChunksPluginOptions): Plugin;
