import type { ProcessOptions } from 'postcss';
import type { CssModules, RsbuildTarget, CSSLoaderOptions, NormalizedConfig } from './types';
export declare const getCssModuleLocalIdentName: (config: NormalizedConfig, isProd: boolean) => string;
export declare const isInNodeModules: (path: string) => boolean;
/** 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: NormalizedConfig;
}) => ProcessOptions;
export declare const normalizeCssLoaderOptions: (options: CSSLoaderOptions, exportOnlyLocals: boolean) => CSSLoaderOptions;
export declare const getCssLoaderOptions: ({
  config,
  enableSourceMap,
  importLoaders,
  isServer,
  isWebWorker,
  localIdentName
}: {
  config: NormalizedConfig;
  enableSourceMap: boolean;
  importLoaders: number;
  isServer: boolean;
  isWebWorker: boolean;
  localIdentName: string;
}) => CSSLoaderOptions;
export declare const isUseCssExtract: (config: NormalizedConfig, target: RsbuildTarget) => boolean;
/**
 * fix resolve-url-loader can't deal with resolve.alias config (such as @xxx、xxx)
 *
 * reference: https://github.com/bholloway/resolve-url-loader/blob/e2695cde68f325f617825e168173df92236efb93/packages/resolve-url-loader/docs/advanced-features.md
 */
export declare const getResolveUrlJoinFn: () => Promise<any>;
export {};