|                                                             |  | 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
 |