import { i as Arrayable, n as Transformer, r as TransformerParsed, t as NodeRef } from "./types-C6nP7fa_.js";
import { FilterPattern, UnpluginInstance } from "unplugin";
import { CodeTransform } from "magic-string-ast";
import { ParserOptions } from "@babel/parser";

//#region src/core/options.d.ts
interface Options {
  include?: FilterPattern;
  exclude?: FilterPattern;
  enforce?: "post" | "pre" | undefined;
  parserOptions?: ParserOptions;
  transformer?: Arrayable<Transformer<any>>;
}
type Overwrite<T, U> = Pick<T, Exclude<keyof T, keyof U>> & U;
type OptionsResolved = Overwrite<Required<Options>, {
  exclude: Options["exclude"];
  enforce: Options["enforce"];
  transformer: Transformer<any>[];
}>;
declare function resolveOptions(options: Options): OptionsResolved;
//#endregion
//#region src/core/transform.d.ts
declare function transform(code: string, id: string, options: Pick<OptionsResolved, "parserOptions" | "transformer">): Promise<CodeTransform | undefined>;
//#endregion
//#region src/index.d.ts
declare const AST: UnpluginInstance<Options, false>;
//#endregion
export { AST, NodeRef, Options, OptionsResolved, Transformer, TransformerParsed, resolveOptions, transform };