export interface ScanResult { /** All files found. */ files: Set; /** New added files from last scanning. */ added: Set; /** Modified files from last scanning. */ modified: Set; /** Removed files from last scanning. */ removed: Set; /** Missing patterns that throw ENOENT exception. */ missing: Set; } interface SourceCache { /** Non glob patterns. */ patterns: string[]; /** Glob patterns. */ globs: string[]; } export declare enum MatchState { INCLUDE = 0, EXCLUDE = 1, UNKNOW = 2 } export declare class Sources { readonly context: string; readonly fs: any; /** Include patterns cache, must be absolute and non negative. */ readonly includes: SourceCache; /** * Exclude patterns cache, must be absolute and non negative. * The negative patterns also live here. */ readonly excludes: SourceCache; /** Files found and their timestamp. */ readonly files: Map; /** * @param patterns - List of files, directories or glob patterns. * @param context - An absolute directory used to resolve the relative pattern * to absolute. * @param fs - User provided file system, defaults to fs-extra. */ constructor(patterns: string | string[], context: string, fs?: any); add(patterns: string | string[]): void; clear(): void; /** * @param pattern - A file, directory or glob pattern that absolute or * relative from the context. */ match(pattern: string): MatchState; /** * @param patterns - List of patterns, defaults scan all. */ scan(patterns?: string | string[]): ScanResult; } export {};