///
import { EventEmitter } from 'events';
import { IPathFilterIgnoreOptions } from './IPathFilterIgnoreOptions';
/**
* Builder class to easily and flexibly construct and implement filesystem path filtering.
*/
export declare class FSPathFilter extends EventEmitter {
/**
* Returns a new object with the default ignore options.
*/
protected static get ignoreOptionDefaults(): IPathFilterIgnoreOptions;
readonly filepathFilters: Array<(path: string) => boolean>;
readonly dirpathFilters: Array<(path: string) => boolean>;
readonly filenameFilters: Array<(path: string) => boolean>;
readonly filepathRegex: Array;
readonly dirpathRegex: Array;
readonly filenameRegex: Array;
isCaseInsensitive: boolean;
constructor(options?: {
captureRejections?: boolean;
});
protected handleOptions(escaped: string, options?: IPathFilterIgnoreOptions): string;
/**
* Add a whole or partial filepath to ignore.
*/
ignoreFilepath(ignore: string, options?: IPathFilterIgnoreOptions): FSPathFilter;
/**
* Add a whole or partial dirname to ignore.
*/
ignoreDirpath(ignore: string, options?: IPathFilterIgnoreOptions): FSPathFilter;
/**
* Add a whole or partial filename to ignore.
*/
ignoreFilename(ignore: string, options?: IPathFilterIgnoreOptions): FSPathFilter;
/**
* Add a file extension type to ignore.
*/
ignoreExtension(ignore: string): FSPathFilter;
/**
* Add a custom filter function for validating filepaths
*/
filterFilepath(filter: (path: string) => boolean): FSPathFilter;
/**
* Add a custom filter function for validating dirpaths.
*/
filterDirpath(filter: (path: string) => boolean): FSPathFilter;
/**
* Add a custom filter function for validating filenames.
*/
filterFilename(filter: (path: string) => boolean): FSPathFilter;
/**
* Add a custom regex object for matching filepaths to be ignored.
*/
ignoreFilepathRegex(regex: RegExp): FSPathFilter;
/**
* Add a custom regex object for matching dirpaths to be ignored.
*/
ignoreDirpathRegex(regex: RegExp): FSPathFilter;
/**
* Add a custom regex object for matching filenames to be ignored.
*/
ignoreFilenameRegex(regex: RegExp): FSPathFilter;
/**
* Performs the configured filepath filtering.
*/
validateFilepath(filepath: string): boolean;
/**
* Performs the configured dirpath filtering.
*/
validateDirpath(dirpath: string): boolean;
/**
* Performs the configured filename filtering.
*/
validateFilename(filename: string): boolean;
}
//# sourceMappingURL=FSPathFilter.d.ts.map