import { Hookable } from 'hookable';
import { File } from './type';
import { Plugin, ComplierPluginParams } from './type';
export * from './file-system';
export * from './module';
export * from './type';
interface CompilerOptions {
    plugins?: Array<Plugin>;
    vueVersion?: 2 | 3;
}
export declare class Compiler {
    hooks: Hookable<Record<string, any>, string>;
    vueVersion: 2 | 3;
    constructor(options?: CompilerOptions);
    init(_plugins: Array<Plugin>): Promise<void>;
    run(params: ComplierPluginParams): Promise<void>;
    transform(files: File[], result: {
        errors: Error[];
    }): Promise<void>;
}
