/// <reference types="node" />importmicromatch=require('micromatch');importDeepFilterfrom'./filters/deep';importEntryFilterfrom'./filters/entry';import{IOptions}from'../managers/options';import{ITask}from'../managers/tasks';import{OptionsasIReaddirOptions}from'@mrmlnc/readdir-enhanced';import{Entry,EntryItem}from'../types/entries';exportdefaultabstractclassReader<T>{readonlyoptions:IOptions;readonlyentryFilter:EntryFilter;readonlydeepFilter:DeepFilter;privatereadonlymicromatchOptions;constructor(options:IOptions);/** * The main logic of reading the directories that must be implemented by each providers. */abstractread(_task:ITask):T;/** * Returns root path to scanner. */getRootDirectory(task:ITask):string;/** * Returns options for reader. */getReaderOptions(task:ITask):IReaddirOptions;/** * Returns options for micromatch. */getMicromatchOptions():micromatch.Options;/** * Returns transformed entry. */transform(entry:Entry):EntryItem;/** * Returns true if error has ENOENT code. */isEnoentCodeError(err:NodeJS.ErrnoException):boolean;}