import { Logger } from "log4js";
import { Configuration } from "../shared/configuration";
export declare class Threshold {
    private config;
    private log;
    constructor(config: Configuration, log: Logger);
    check(browser: any, collector: any): boolean;
    private excludeFiles;
    private isExcluded;
    private getFileOverrides;
}
