import type { CounterReport, EvaluationReport, ModuleOptions, TestingData, ModuleType } from '.';
import type { TranslationOptions } from '@qualweb/locale';
import type { QualwebPage } from '..';
export declare abstract class ExecutableModuleContext {
    readonly options: ModuleOptions;
    abstract readonly name: ModuleType;
    constructor(options?: ModuleOptions);
    execute(page: QualwebPage, translate: TranslationOptions, data: TestingData): Promise<EvaluationReport | CounterReport>;
    protected abstract getModulePackage?(): string;
    protected abstract runModule(page: QualwebPage, options: ModuleOptions, translate: TranslationOptions, data: TestingData): Promise<EvaluationReport | CounterReport>;
}
//# sourceMappingURL=ExecutableModule.d.ts.map