/**
 * Directory names that discovery never descends into.
 *
 * @remarks
 * These hold generated output, VCS metadata, or tooling scratch space — none of
 * which contain first-party Claude Code config worth linting, and some of which
 * (e.g. `node_modules`) are large enough to make an unfiltered walk slow.
 */
export declare const IGNORED_DIRECTORIES: ReadonlySet<string>;
/** Path split into segments relative to the discovery root, e.g. `['.claude', 'agents', 'x.md']`. */
type PathSegments = readonly string[];
/**
 * One recognisable Claude Code config-file shape. Kept as an explicit,
 * self-describing list so the set of files cclint understands is easy to read
 * and extend in one place.
 */
interface ConfigFilePattern {
    /** Human-readable pattern, mirroring the glob it stands in for. */
    readonly label: string;
    /** Whether a file (given its root-relative segments) matches this pattern. */
    matches(segments: PathSegments): boolean;
}
/**
 * The config files cclint understands, expressed against root-relative path
 * segments. Order is presentational only; a file matches if ANY pattern does.
 */
export declare const CONFIG_FILE_PATTERNS: readonly ConfigFilePattern[];
/** Whether a file (by its root-relative segments) is a config file cclint lints. */
export declare function isConfigFile(segments: PathSegments): boolean;
/**
 * Walks a project directory and returns the Claude Code config files cclint
 * understands.
 *
 * @remarks
 * Infrastructure-layer adapter: it is the only place directory traversal (`fs`)
 * happens for project-wide linting, keeping the domain and CLI free of I/O
 * concerns. It resolves *what* to lint; reading and linting stay with the
 * existing `FileReader` / `RulesEngine` pipeline.
 */
export declare class FileDiscovery {
    /**
     * Discover config files under `rootDir`.
     *
     * @param rootDir - Absolute or relative path to the project directory.
     * @returns Absolute file paths, sorted for deterministic output.
     */
    discover(rootDir: string): string[];
    private walk;
}
export {};
//# sourceMappingURL=FileDiscovery.d.ts.map