import type { ModuleTranslator } from '../i18n/ModuleTranslator';
import type { TestingData } from './TestingData';
import type { Level } from './Level';
import type { Principle } from './Principle';
import type { Guideline } from './Guideline';
import type { ModuleReport } from './ModuleReport';
export declare abstract class Tester {
    protected readonly assertions: Map<string, Guideline>;
    protected readonly toExecute: {
        [key: string]: boolean;
    };
    protected readonly report: ModuleReport;
    constructor(report: ModuleReport);
    configureByPrinciplesAndLevels(principles?: Principle[], levels?: Level[]): void;
    configureIncluded(assertions?: string[]): void;
    configureExcluded(assertions?: string[]): void;
    resetConfiguration(): void;
    abstract init(translator: ModuleTranslator): this;
    abstract execute(data: TestingData): void;
}
//# sourceMappingURL=Tester.d.ts.map