import { SourceFile } from "typescript"; export interface FileState { /** * File path of file for reverse matching */ readonly file: string; /** * Determines if this file is a type definition file */ readonly typeDefinition: boolean; /** * Determines if this file is a ts file */ readonly ts: boolean; /** * Source for TS checker */ source: SourceFile | null; /** * Dependencies of this file */ dependencies: Array; /** * Determines if this file has global impacts */ globalImpact: boolean; /** * Determines if this file was already linted */ linted: boolean; } export default class FileCache { private files; private added; constructor(); exist(file: string): boolean; add(file: string, source: SourceFile): void; get(file: string): FileState | undefined; linted(file: string): void; invalidate(file: string): void; remove(file: string): void; removeTypeDefinitionOfFile(file: string): void; hasFileGlobalImpacts(file: string): boolean; isFileLintable(file: string): boolean; getSource(file: string): SourceFile | null; getTypeCheckRelatedFiles(): string[]; getInvalidatedFiles(): string[]; getModifiedFiles(): string[]; updateDependencies(sourceFiles: Array): void; getAffectedFiles(modifiedFiles: Array): Set; cleanup(): void; private getFiles(); private update(file, options); }