import type { ConventionDefinition } from "../config/convention-registry.js"; export type AstGrepConventionFinding = { readonly line: number; readonly message: string; readonly path: string; }; export type AstGrepConventionResult = { readonly findings: readonly AstGrepConventionFinding[]; readonly status: "checked"; } | { readonly status: "inactive"; } | { readonly status: "skipped"; readonly warning: string; }; export declare function findAstGrepBinary(): string | undefined; export type AstGrepConventionScanOptions = { /** * Restricts the scan to a single path instead of the whole default scan root. * The runtime hook uses this so a per-write scan does not grow with the * project. */ readonly scanPath?: string; }; export declare function runAstGrepConvention(projectDir: string, definition: ConventionDefinition, options?: AstGrepConventionScanOptions): AstGrepConventionResult; export declare function loadAstGrepConventionDefinitions(projectDir: string): readonly ConventionDefinition[];