import type { RuleConfig } from "../config/defaultRules.js"; import type { CustomRule, Framework, ValidationMode, EnforcementThresholds, ProjectScanSummary, UnsupportedFileEntry } from "../types/guardrail.types.js"; export interface ScanOptions { /** Rule configuration. Defaults to `DEFAULT_RULES`. */ rules?: RuleConfig; /** Custom rules loaded from plugins. */ customRules?: CustomRule[]; /** When set, the full scan summary is written to this JSON file (CI artefact). */ outputPath?: string; /** When set, the scan is appended to this JSON history file and trend data is returned. */ historyPath?: string; /** gitignore-style globs (relative to the project) to skip, on top of the built-in directory list. */ ignore?: string[]; } interface ClassifiedFiles { supported: string[]; unsupported: UnsupportedFileEntry[]; } /** * Classify all .ts/.js files in a directory into: * - supported: files to validate (conventional patterns OR framework-detected as Playwright/Cypress) * - unsupported: files detected as an unsupported framework (e.g. k6) * * Files with no recognised test framework imports and no conventional naming are skipped * to avoid false positives on config/helper files. */ export declare function classifyProjectFiles(dirPath: string, resolvedBase: string, ignore?: string[]): ClassifiedFiles; export declare function scanProject(projectPath: string, framework: Framework, mode: ValidationMode, thresholds: EnforcementThresholds, options?: ScanOptions): ProjectScanSummary; export {}; //# sourceMappingURL=projectScanner.d.ts.map