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