import autoprefixer = require("autoprefixer");
import TerserPlugin = require("terser-webpack-plugin");
export let mode: string;
export let entry: {
    "excalidraw.production.min": string;
};
export namespace output {
    let path: string;
    let library: string;
    let libraryTarget: string;
    let filename: string;
    let chunkFilename: string;
    let assetModuleFilename: string;
    let publicPath: string;
}
export namespace resolve {
    let extensions: string[];
    let mainFields: string[];
    let mainFiles: string[];
    let alias: {
        "@excalidraw/excalidraw": string;
        "@excalidraw/utils": string;
        "@excalidraw/math": string;
        "@excalidraw/common": string;
        "@excalidraw/element": string;
        "@excalidraw/fractional-indexing": string;
    };
}
export namespace module {
    let rules: ({
        test: RegExp;
        exclude: RegExp;
        use: (string | {
            loader: string;
            options?: undefined;
        } | {
            loader: string;
            options: {
                postcssOptions: {
                    plugins: (import("postcss").Plugin & autoprefixer.ExportedAPI)[];
                };
            };
        })[];
        resolve?: undefined;
        type?: undefined;
    } | {
        test: RegExp;
        resolve: {
            fullySpecified: boolean;
        };
        exclude?: undefined;
        use?: undefined;
        type?: undefined;
    } | {
        test: RegExp;
        exclude: (modulePath: any) => boolean;
        use: ({
            loader: string;
            options?: undefined;
        } | {
            loader: string;
            options: {
                presets: (string | (string | {
                    targets: {
                        ios: string;
                    };
                    bugfixes: boolean;
                })[] | (string | {
                    runtime: string;
                    pragma: string;
                    pragmaFrag: string;
                })[])[];
                plugins: string[];
                transpileOnly?: undefined;
                configFile?: undefined;
            };
        } | {
            loader: string;
            options: {
                transpileOnly: boolean;
                configFile: string;
                presets?: undefined;
                plugins?: undefined;
            };
        } | {
            loader: string;
            options: {
                presets: (string | (string | {
                    targets: {
                        ios: string;
                    };
                    bugfixes: boolean;
                })[] | (string | {
                    runtime: string;
                })[])[];
                plugins: string[];
                transpileOnly?: undefined;
                configFile?: undefined;
            };
        })[];
        resolve?: undefined;
        type?: undefined;
    } | {
        test: RegExp;
        type: string;
        exclude?: undefined;
        use?: undefined;
        resolve?: undefined;
    })[];
}
export namespace optimization {
    let minimize: boolean;
    let minimizer: TerserPlugin<import("terser").MinifyOptions>[];
}
export let plugins: any[];
export let externals: {
    react: {
        root: string;
        commonjs2: string;
        commonjs: string;
        amd: string;
    };
    "react-dom": {
        root: string;
        commonjs2: string;
        commonjs: string;
        amd: string;
    };
    'react/jsx-runtime': {
        root: string[];
        commonjs2: string;
        commonjs: string;
        amd: string;
    };
    'react/jsx-dev-runtime': {
        root: string[];
        commonjs2: string;
        commonjs: string;
        amd: string;
    };
};
