import { MMRegExp } from 'minimatch'; import { Path } from 'path-scurry'; import { Pattern } from './pattern.js'; import { GlobWalkerOpts } from './walker.js'; /** * A cache of which patterns have been processed for a given Path */ export declare class HasWalkedCache { store: Map>; constructor(store?: Map>); copy(): HasWalkedCache; hasWalked(target: Path, pattern: Pattern): boolean | undefined; storeWalked(target: Path, pattern: Pattern): void; } /** * A record of which paths have been matched in a given walk step, * and whether they only are considered a match if they are a directory, * and whether their absolute or relative path should be returned. */ export declare class MatchRecord { store: Map; add(target: Path, absolute: boolean, ifDir: boolean): void; entries(): [Path, boolean, boolean][]; } /** * A collection of patterns that must be processed in a subsequent step * for a given path. */ export declare class SubWalks { store: Map; add(target: Path, pattern: Pattern): void; get(target: Path): Pattern[]; entries(): [Path, Pattern[]][]; keys(): Path[]; } /** * The class that processes patterns for a given path. * * Handles child entry filtering, and determining whether a path's * directory contents must be read. */ export declare class Processor { hasWalkedCache: HasWalkedCache; matches: MatchRecord; subwalks: SubWalks; patterns?: Pattern[]; follow: boolean; dot: boolean; opts: GlobWalkerOpts; constructor(opts: GlobWalkerOpts, hasWalkedCache?: HasWalkedCache); processPatterns(target: Path, patterns: Pattern[]): this; subwalkTargets(): Path[]; child(): Processor; filterEntries(parent: Path, entries: Path[]): Processor; testGlobstar(e: Path, pattern: Pattern, rest: Pattern | null, absolute: boolean): void; testRegExp(e: Path, p: MMRegExp, rest: Pattern | null, absolute: boolean): void; testString(e: Path, p: string, rest: Pattern | null, absolute: boolean): void; } //# sourceMappingURL=processor.d.ts.map