import type { Node, Visitor } from '@babel/traverse'; export declare function applyTransformAsync(ast: Node, transform: AsyncTransform, options?: TOptions): Promise; export declare function applyTransform(ast: Node, transform: Transform, options?: TOptions, noScopeOverride?: boolean): TransformState; export declare function applyTransforms(ast: Node, transforms: Transform[], options?: { noScope?: boolean; name?: string; log?: boolean; }): TransformState; export declare function mergeTransforms(options: { name: string; tags: Tag[]; transforms: Transform[]; }): Transform; export interface TransformState { changes: number; } export interface Transform { name: string; tags: Tag[]; scope?: boolean; run?: (this: TransformState, ast: Node, options?: TOptions) => void; visitor?: (options?: TOptions) => Visitor; } export interface AsyncTransform extends Transform { run?: (this: TransformState, ast: Node, options?: TOptions) => Promise; } export type Tag = 'safe' | 'unsafe'; //# sourceMappingURL=transform.d.ts.map