| import micromatch = require('micromatch'); | 
| import { IOptions } from '../../managers/options'; | 
| import { FilterFunction } from '@mrmlnc/readdir-enhanced'; | 
| import { Pattern } from '../../types/patterns'; | 
| export default class DeepFilter { | 
|     private readonly options; | 
|     private readonly micromatchOptions; | 
|     constructor(options: IOptions, micromatchOptions: micromatch.Options); | 
|     /** | 
|      * Returns filter for directories. | 
|      */ | 
|     getFilter(positive: Pattern[], negative: Pattern[]): FilterFunction; | 
|     /** | 
|      * Returns max depth of the provided patterns. | 
|      */ | 
|     private getMaxPatternDepth; | 
|     /** | 
|      * Returns RegExp's for patterns that can affect the depth of reading. | 
|      */ | 
|     private getNegativePatternsRe; | 
|     /** | 
|      * Returns «true» for directory that should be read. | 
|      */ | 
|     private filter; | 
|     /** | 
|      * Returns «true» when the «deep» option is disabled or number and depth of the entry is greater that the option value. | 
|      */ | 
|     private isSkippedByDeepOption; | 
|     /** | 
|      * Returns «true» when depth parameter is not an Infinity and entry depth greater that the parameter value. | 
|      */ | 
|     private isSkippedByMaxPatternDepth; | 
|     /** | 
|      * Returns «true» for symlinked directory if the «followSymlinkedDirectories» option is disabled. | 
|      */ | 
|     private isSkippedSymlinkedDirectory; | 
|     /** | 
|      * Returns «true» for a directory whose name starts with a period if «dot» option is disabled. | 
|      */ | 
|     private isSkippedDotDirectory; | 
|     /** | 
|      * Returns «true» for a directory whose path math to any negative pattern. | 
|      */ | 
|     private isSkippedByNegativePatterns; | 
| } |