import { type HookMap, type HookValidationError } from "../types.js"; import { type HookConfigDiscoveryOptions, type HookConfigSourceScope } from "../config-paths.js"; export interface HookSourceSummary { readonly scope: HookConfigSourceScope; readonly filePath: string; readonly hookCount: number; } export interface HookDiscoveryResult { readonly hooks: HookMap; readonly errors: HookValidationError[]; readonly advisories: string[]; readonly files: string[]; readonly watchPaths: string[]; readonly sources: HookSourceSummary[]; } export interface HookLoadOptions extends HookConfigDiscoveryOptions { readonly readFile?: (filePath: string) => string; } export interface HookLoadSnapshot extends HookDiscoveryResult { readonly signature: string; } export declare function loadDiscoveredHooks(options?: HookLoadOptions): HookDiscoveryResult; export declare function __resetSnapshotCacheForTests(): void; export declare function __snapshotCacheSizeForTests(): number; export declare function __snapshotCacheKeysForTests(): string[]; export declare function loadDiscoveredHooksSnapshot(options?: HookLoadOptions): HookLoadSnapshot; export interface HookLoadSummary { readonly global: number; readonly project: number; readonly total: number; } export declare function summarizeHookSources(sources: readonly HookSourceSummary[]): HookLoadSummary; export declare function formatHookLoadSummary(result: Pick): string;