import { defu } from "defu"; //#region src/types.d.ts interface IClassGeneratorContextItem { name: string; usedBy: Set; } interface IClassGeneratorOptions { reserveClassName?: (string | RegExp)[]; customGenerate?: (original: string, opts: IClassGeneratorOptions, context: Record) => string | undefined; log?: boolean; exclude?: (string | RegExp)[]; include?: (string | RegExp)[]; ignoreClass?: (string | RegExp)[]; classPrefix?: string; } interface IClassGenerator { newClassMap: Record; newClassSize: number; context: Record; } //#endregion //#region src/classGenerator.d.ts declare class ClassGenerator implements IClassGenerator { newClassMap: Record; newClassSize: number; context: Record; opts: IClassGeneratorOptions; classPrefix: string; constructor(opts?: IClassGeneratorOptions); defaultClassGenerate(): string; ignoreClassName(className: string): boolean; includeFilePath(filePath: string): boolean; excludeFilePath(filePath: string): boolean; isFileIncluded(filePath: string): boolean; transformCssClass(className: string): string; generateClassName(original: string): IClassGeneratorContextItem; } //#endregion //#region src/regex.d.ts declare function escapeStringRegexp(str: string): string; interface MakeRegexOptions { /** * 这是为了进行精确提取用的 * 比如同时出现了 bg-500 bg-500/50, * true 只会提取 bg-500 * 而 false 会提取 2 个 bg-500 */ exact?: boolean; } declare function makeRegex(str: string, options?: MakeRegexOptions): RegExp; //#endregion //#region src/split.d.ts declare const validateFilterRE: RegExp; declare function isValidSelector(selector?: string): selector is string; declare function splitCode(code: string, options?: { splitQuote?: boolean; }): string[]; //#endregion //#region src/utils.d.ts declare const defuOverrideArray: import("defu").DefuFn; declare const preserveClassNames: string[]; declare function defaultMangleClassFilter(className: string): boolean; declare function groupBy(arr: T[], cb: (arg: T) => string): Record; declare const acceptChars: string[]; declare function stripEscapeSequence(words: string): string; declare function isRegexp(value: unknown): boolean; declare function isMap(value: unknown): boolean; declare function regExpTest(arr: (string | RegExp)[] | undefined, str: string): boolean; //#endregion export { ClassGenerator, IClassGenerator, IClassGeneratorContextItem, IClassGeneratorOptions, MakeRegexOptions, acceptChars, defaultMangleClassFilter, defu, defuOverrideArray, escapeStringRegexp, groupBy, isMap, isRegexp, isValidSelector, makeRegex, preserveClassNames, regExpTest, splitCode, stripEscapeSequence, validateFilterRE };