import { UserDefinedOptions, ITemplateHandlerOptions, CreateJsHandlerOptions, JsHandlerResult } from './types.mjs';
import * as postcss from 'postcss';
import { IStyleHandlerOptions } from '@weapp-tailwindcss/postcss';
import '@babel/parser';
import '@weapp-tailwindcss/mangle';
import 'magic-string';
import 'tailwindcss-patch';
import 'node:buffer';
import 'webpack';
import 'lru-cache';
import 'postcss-preset-env';

/**
 * 创建一个上下文对象，用于处理小程序的模板、样式和脚本转换。
 * @param options - 用户定义的选项对象
 * @returns 返回一个包含 transformWxss、transformWxml 和 transformJs 方法的对象
 */
declare function createContext(options?: UserDefinedOptions): {
    transformWxss: (rawCss: string, options?: Partial<IStyleHandlerOptions>) => Promise<postcss.Result<postcss.Document | postcss.Root>>;
    transformWxml: (rawWxml: string, options?: ITemplateHandlerOptions) => Promise<string>;
    transformJs: (rawJs: string, options?: {
        runtimeSet?: Set<string>;
    } & CreateJsHandlerOptions) => Promise<JsHandlerResult>;
};

export { createContext };
