import type { AcceptedPlugin, ProcessOptions } from 'postcss';
import type { CssModules, BuilderTarget, CSSLoaderOptions, SharedNormalizedConfig } from './types';
export declare const getCssModuleLocalIdentName: (config: SharedNormalizedConfig, isProd: boolean) => string;
/** Determine if a file path is a CSS module when disableCssModuleExtension is enabled. */
export declare const isLooseCssModules: (path: string) => boolean;
export type CssLoaderModules = boolean | string | {
    auto: boolean | RegExp | ((filename: string) => boolean);
};
export declare const isCssModules: (filename: string, modules: CssLoaderModules) => boolean;
export declare const getCssModulesAutoRule: (config?: CssModules, disableCssModuleExtension?: boolean) => boolean | RegExp | ((resourcePath: string) => boolean);
type CssNanoOptions = {
    configFile?: string | undefined;
    preset?: [string, object] | string | undefined;
};
export declare const getCssnanoDefaultOptions: () => CssNanoOptions;
export declare const getPostcssConfig: ({ enableCssMinify, enableSourceMap, browserslist, config, }: {
    enableCssMinify: boolean;
    enableSourceMap: boolean;
    browserslist: string[];
    config: SharedNormalizedConfig;
}) => Promise<ProcessOptions & {
    postcssOptions: {
        plugins?: AcceptedPlugin[];
    };
}>;
export declare const normalizeCssLoaderOptions: (options: CSSLoaderOptions, exportOnlyLocals: boolean) => CSSLoaderOptions;
export declare const getCssLoaderOptions: ({ config, enableSourceMap, importLoaders, isServer, isWebWorker, localIdentName, }: {
    config: SharedNormalizedConfig;
    enableSourceMap: boolean;
    importLoaders: number;
    isServer: boolean;
    isWebWorker: boolean;
    localIdentName: string;
}) => Promise<CSSLoaderOptions>;
export declare const isUseCssExtract: (config: SharedNormalizedConfig, target: BuilderTarget) => boolean;
export {};
