/// import * as fs from 'fs'; import { FilterFunction } from '@mrmlnc/readdir-enhanced'; import { IOptions } from '../managers/options'; import { Entry } from '../types/entries'; import { Pattern } from '../types/patterns'; export default abstract class FileSystem { private readonly options; constructor(options: IOptions); /** * The main logic of reading the entries that must be implemented by each adapter. */ abstract read(filepaths: string[], filter: FilterFunction): T; /** * Return full path to entry. */ getFullEntryPath(filepath: string): string; /** * Return an implementation of the Entry interface. */ makeEntry(stat: fs.Stats, pattern: Pattern): Entry; }