import type { ProjectType } from "../core/config.js";
/** Subdirectory inside `.codex/` for Lisa-managed hook scripts */
export declare const LISA_HOOKS_SUBDIR: string;
/**
 * Shared shell helper sourced by every edit-aware hook to resolve the file
 * path(s) a tool touches (handles single-file Edit/Write and multi-file
 * apply_patch). Copied alongside the hook scripts whenever an edit hook is
 * installed so the apply_patch parsing lives in exactly one place.
 */
export declare const EDIT_PATHS_LIB = "_extract-edit-paths.sh";
/** Subdirectory inside `.codex/` for Lisa rules content (read by inject-rules) */
export declare const LISA_RULES_SUBDIR = "lisa-rules";
/** Filename of the Codex hooks config file inside `.codex/` */
export declare const HOOKS_FILENAME = "hooks.json";
/** Result of the hooks install pass */
export interface HooksInstallResult {
    /** Files written, relative to `.codex/`. Used to update the manifest. */
    readonly managedFiles: readonly string[];
    /** Number of Lisa hook entries written into hooks.json */
    readonly hookEntries: number;
    /** Stale Lisa-owned hook/rule files removed from the project. */
    readonly deleted: readonly string[];
}
/**
 * Install Lisa hook scripts + rules + hooks.json entries.
 * @param lisaDir - Absolute path to the Lisa repo root (or installed package)
 * @param destDir - Absolute path to the host project root
 * @param detectedTypes - Project types Lisa detected; used to filter stack-
 *   specific hooks. Always includes the universal hooks regardless.
 * @param previousManagedFiles - Files Lisa managed on the previous run.
 * @returns Result describing what was written
 */
export declare function installHooks(lisaDir: string, destDir: string, detectedTypes: readonly ProjectType[], previousManagedFiles?: readonly string[]): Promise<HooksInstallResult>;
//# sourceMappingURL=hooks-installer.d.ts.map