import TerserPlugin from 'terser-webpack-plugin';
import { LinkedConfig } from './interfaces.js';
/**
 * Converts a css class name to a unique scoped name (for CSS Modules)
 * @param context
 * @param currentFormat
 * @param name
 */
declare function getLocalIdent(context: any, currentFormat: any, name: any): string;
export declare const getLinkedConfig: () => Promise<LinkedConfig>;
export declare const getWebpackAppConfig: () => Promise<{
    mode: string;
    devtool: string;
    entry: string[];
    watch: boolean;
    output: {
        path: string;
        filename: string;
        publicPath: string;
        clean: boolean;
    };
    watchOptions: {
        ignored: RegExp;
        aggregateTimeout: number;
    };
    devServer: {
        client: {
            progress: boolean;
        };
    };
    plugins: any[];
    externals: {
        [npmModule: string]: string;
    };
    module: {
        rules: ({
            test: RegExp;
            use: (string | {
                loader: string;
                options: {
                    url: boolean;
                    importLoaders: number;
                    modules: {
                        mode: string;
                        getLocalIdent: typeof getLocalIdent;
                        auto: (resourcePath: string) => boolean;
                    };
                    postcssOptions?: undefined;
                };
            } | {
                loader: string;
                options: {
                    postcssOptions: {
                        plugins: any[];
                    };
                    url?: undefined;
                    importLoaders?: undefined;
                    modules?: undefined;
                };
            })[];
            exclude?: undefined;
        } | {
            test: RegExp;
            use: {
                loader: string;
                options: {
                    transpileOnly: boolean;
                    getCustomTransformers?: () => {
                        before: import("typescript").TransformerFactory<import("typescript").SourceFile>[];
                    };
                };
            }[];
            exclude: RegExp;
        })[];
    };
    optimization: {
        minimize: boolean;
        minimizer: TerserPlugin<{
            keep_classnames: boolean;
        }>[];
        splitChunks: {
            cacheGroups: {
                defaultVendors: boolean;
                default: boolean;
            };
        };
    };
    stats: {
        chunks: boolean;
        assets: boolean;
        entrypoints: boolean;
        children: boolean;
        modules: boolean;
    };
    resolve: {
        extensions: string[];
        alias: {
            [oldNpmPath: string]: string;
        };
        extensionAlias: {
            '.js': string[];
            '.jsx': string[];
        };
    };
    cache: {
        type: "filesystem";
    } | {
        type: "memory";
    };
}>;
export {};
//# sourceMappingURL=config-webpack-app.d.ts.map