import { TrextOptions } from '../interfaces';
import type { TrextFileResult } from '../types';
/**
 * @file Plugins - Trext
 * @module trext/plugins/Trext
 */
/**
 * File extension and import statement transformer.
 */
declare class Trext {
    /**
     * Executes `trextFile` over a directory.
     *
     * @see {@link Trext.trextFile}
     *
     * @template F - Old file extension name(s)
     * @template T - New file extension name(s)
     *
     * @async
     * @param {string} cwd - Directory to perform transformation
     * @param {TrextOptions<F, T>} options - Trext options
     * @param {TransformOptions} [options.babel={}] - Babel transform options
     * @param {F} options.from - File extension to transform
     * @param {RegexString} [options.pattern=/\..+$/] - File extension pattern
     * @param {To<T>} options.to - New file extension or generator function
     * @return {Promise<TrextFileResult[]>} Transformation results
     */
    static trext<F extends string = string, T extends string = string>(cwd: string, options: TrextOptions<F, T>): Promise<TrextFileResult[]>;
    /**
     * Transforms a file's extension, import statements, call expressions, and
     * source map comment.
     *
     * @template F - Old file extension name(s)
     * @template T - New file extension name(s)
     *
     * @async
     * @param {string} filename - Name of file to transform
     * @param {TrextOptions<F, T>} options - Trext options
     * @param {TransformOptions} [options.babel={}] - Babel transform options
     * @param {F} options.from - File extension to transform
     * @param {RegexString} [options.pattern=/\..+$/] - File extension pattern
     * @param {To<T>} options.to - New file extension or generator function
     * @return {Promise<TrextFileResult>} Transformation result
     * @throws {Error}
     */
    static trextFile<F extends string = string, T extends string = string>(filename: string, options: TrextOptions<F, T>): Promise<TrextFileResult>;
}
export declare const trext: typeof Trext.trext;
export declare const trextFile: typeof Trext.trextFile;
export default Trext;
//# sourceMappingURL=trext.plugin.d.ts.map