import Webpack from "webpack";
import { Plugin } from "@reactway/webpack-builder";
import { PluginOptions as MiniCssExtractPluginOptions } from "mini-css-extract-plugin";
import { Options as OptimizeCSSOptions } from "optimize-css-assets-webpack-plugin";
export declare type Omit<TType, TKey extends keyof TType> = Pick<TType, Exclude<keyof TType, TKey>>;
export declare type LoaderOptions = Omit<Webpack.RuleSetLoader, "loader">;
export declare type PostCssOptions = {
    [k: string]: any;
};
export declare type PostCssPluginsFn = (...args: unknown[]) => unknown[];
export interface StylesPluginOptions {
    fontsOutputLocation?: string;
    fontsPublicPath?: string;
    urlLoaderOptions?: LoaderOptions;
    styleLoaderOptions?: LoaderOptions;
    cssLoaderOptions?: LoaderOptions;
    postcssLoaderOptions?: LoaderOptions;
    sassLoaderOptions?: LoaderOptions;
    optimizeCssAssetsPlugin?: OptimizeCSSOptions;
    miniCssExtractPluginOptions?: MiniCssExtractPluginOptions;
}
export declare const StylesPlugin: Plugin<StylesPluginOptions>;
export declare function checkPostCssConfig(projectDirectory: string): void;
