| type Pathname = string | |
| 
 | |
| interface TestResult { | |
|   ignored: boolean | |
|   unignored: boolean | |
| } | |
| 
 | |
| export interface Ignore { | |
|   /** | |
|    * Adds one or several rules to the current manager. | |
|    * @param  {string[]} patterns | |
|    * @returns IgnoreBase | |
|    */ | |
|   add(patterns: string | Ignore | readonly (string | Ignore)[]): this | |
| 
 | |
|   /** | |
|    * Filters the given array of pathnames, and returns the filtered array. | |
|    * NOTICE that each path here should be a relative path to the root of your repository. | |
|    * @param paths the array of paths to be filtered. | |
|    * @returns The filtered array of paths | |
|    */ | |
|   filter(pathnames: readonly Pathname[]): Pathname[] | |
| 
 | |
|   /** | |
|    * Creates a filter function which could filter | |
|    * an array of paths with Array.prototype.filter. | |
|    */ | |
|   createFilter(): (pathname: Pathname) => boolean | |
| 
 | |
|   /** | |
|    * Returns Boolean whether pathname should be ignored. | |
|    * @param  {string} pathname a path to check | |
|    * @returns boolean | |
|    */ | |
|   ignores(pathname: Pathname): boolean | |
| 
 | |
|   /** | |
|    * Returns whether pathname should be ignored or unignored | |
|    * @param  {string} pathname a path to check | |
|    * @returns TestResult | |
|    */ | |
|   test(pathname: Pathname): TestResult | |
| } | |
| 
 | |
| export interface Options { | |
|   ignorecase?: boolean | |
|   // For compatibility | |
|   ignoreCase?: boolean | |
|   allowRelativePaths?: boolean | |
| } | |
| 
 | |
| /** | |
|  * Creates new ignore manager. | |
|  */ | |
| declare function ignore(options?: Options): Ignore | |
| 
 | |
| declare namespace ignore { | |
|   export function isPathValid (pathname: string): boolean | |
| } | |
| 
 | |
| export default ignore
 |