/**
 * Analyse-scope policy — the single source of the "non-source noise" set the
 * structural prepass skips, so `spv ai analyse <messy-repo>` indexes signal,
 * not dumps/captures/binaries (the JobHunter-class problem: a 3 GB tree whose
 * real source is ~5 MB of `client/` `server/` `shared/`).
 *
 * Used in TWO places that must agree (hence one source, not two hand-lists —
 * the drift the canonical-serializer work just spent a wave eliminating):
 *   1. `walkSourceTree` (the FS walk behind every backend's `listFiles()`).
 *   2. a `.gitnexusignore` written into the analysed dir, so gitnexus's OWN
 *      index (a separate walk we don't control) skips the same noise.
 *
 * Conservative by design: only directories and extensions that are never a
 * codebase's logical source. Dotfiles/dot-dirs are already skipped by the
 * walker, so this list is the non-dot set.
 */
/** Directory names never treated as source (build output, captured assets, dumps). */
export declare const ANALYSE_IGNORE_DIRS: readonly string[];
/** File extensions never treated as source (binaries, dumps, captures, media, archives). */
export declare const ANALYSE_IGNORE_EXTS: readonly string[];
/** True if a directory entry name is in the always-skip set. */
export declare function isIgnoredDir(name: string): boolean;
/** True if a file name carries a never-source extension. */
export declare function hasIgnoredExt(name: string): boolean;
/** True if a root-level file name is an always-include analyse config file. */
export declare function isAnalyseConfigFile(name: string): boolean;
/**
 * Render `.gitnexusignore` content (gitignore-style) so gitnexus's index skips
 * the same noise the walker does. Written into the analysed dir before
 * `gitnexus analyze` runs. `scope` (P1.2) restricts to named top-level subtrees
 * via ignore-all-then-re-include.
 */
export declare function renderGitnexusignore(opts?: {
    scope?: string[];
}): string;
//# sourceMappingURL=scope.d.ts.map