import * as Promise from 'bluebird';
import * as util from '../util/util';
import File from './File';
import { IFileDict } from './IFileDict';
import { IFileArrDict } from './IFileArrDict';
import { ITestOptions } from '../test/ITestOptions';
export default class FileIndex {
    options: ITestOptions;
    files: File[];
    fileMap: IFileDict;
    refMap: IFileArrDict;
    changed: IFileDict;
    removed: IFileDict;
    missing: IFileArrDict;
    constructor(options: ITestOptions);
    findFilesByName(nameRegexp: RegExp): Promise<util.FullPath[]>;
    private checkAcceptFile(fileName);
    listIndex(): string[];
    hasFile(target: string): boolean;
    getFile(target: string): File;
    setFile(file: File): void;
    private readIndex();
    collectDiff(changes: string[]): Promise<void>;
    parseFiles(): Promise<void>;
    private getMissingReferences();
    private loadReferences(files);
    private addToRefMap(fullPath, file);
    collectTargets(): Promise<File[]>;
}
